YES 7.831 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/FiniteMap.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule FiniteMap
  ((lookupWithDefaultFM :: (Ord b, Ord c) => FiniteMap (c,b) a  ->  a  ->  (c,b ->  a) :: (Ord c, Ord b) => FiniteMap (c,b) a  ->  a  ->  (c,b ->  a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM (\key elt rest ->(key,elt: rest) [] fm

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key 
case lookupFM fm key of
  Nothing-> deflt
  Just elt-> elt

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\keyeltrest→(key,elt: rest

is transformed to
fmToList0 key elt rest = (key,elt: rest



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule FiniteMap
  ((lookupWithDefaultFM :: (Ord a, Ord b) => FiniteMap (b,a) c  ->  c  ->  (b,a ->  c) :: (Ord b, Ord a) => FiniteMap (b,a) c  ->  c  ->  (b,a ->  c)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key 
case lookupFM fm key of
  Nothing-> deflt
  Just elt-> elt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Case Reductions:
The following Case expression
case lookupFM fm key of
 Nothing → deflt
 Just elt → elt

is transformed to
lookupWithDefaultFM0 deflt Nothing = deflt
lookupWithDefaultFM0 deflt (Just elt) = elt

The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule FiniteMap
  ((lookupWithDefaultFM :: (Ord b, Ord c) => FiniteMap (b,c) a  ->  a  ->  (b,c ->  a) :: (Ord c, Ord b) => FiniteMap (b,c) a  ->  a  ->  (b,c ->  a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule FiniteMap
  ((lookupWithDefaultFM :: (Ord b, Ord a) => FiniteMap (b,a) c  ->  c  ->  (b,a ->  c) :: (Ord b, Ord a) => FiniteMap (b,a) c  ->  c  ->  (b,a ->  c)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  b  ->  c  ->  c ->  c  ->  FiniteMap a b  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  lookupWithDefaultFM :: Ord a => FiniteMap a b  ->  b  ->  a  ->  b
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule FiniteMap
  ((lookupWithDefaultFM :: (Ord b, Ord a) => FiniteMap (a,b) c  ->  c  ->  (a,b ->  c) :: (Ord b, Ord a) => FiniteMap (a,b) c  ->  c  ->  (a,b ->  c)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt vx fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Cond Reductions:
The following Function with conditions
lookupFM EmptyFM key = Nothing
lookupFM (Branch key elt vx fm_l fm_rkey_to_find
 | key_to_find < key
 = lookupFM fm_l key_to_find
 | key_to_find > key
 = lookupFM fm_r key_to_find
 | otherwise
 = Just elt

is transformed to
lookupFM EmptyFM key = lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find = lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find

lookupFM1 key elt vx fm_l fm_r key_to_find True = lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False = lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

lookupFM2 key elt vx fm_l fm_r key_to_find True = lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False = lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

lookupFM0 key elt vx fm_l fm_r key_to_find True = Just elt

lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find = lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

lookupFM4 EmptyFM key = Nothing
lookupFM4 vvu vvv = lookupFM3 vvu vvv

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare0 x y True = GT

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz

gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd vww vwx = gcd3 vww vwx
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz
gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

gcd1 True vww vwx = error []
gcd1 vwy vwz vxu = gcd0 vwz vxu

gcd2 True vww vwx = gcd1 (vwx == 0) vww vwx
gcd2 vxv vxw vxx = gcd0 vxw vxx

gcd3 vww vwx = gcd2 (vww == 0) vww vwx
gcd3 vxy vxz = gcd0 vxy vxz

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal0 x True = `negate` x

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ LetRed

mainModule FiniteMap
  ((lookupWithDefaultFM :: (Ord b, Ord c) => FiniteMap (b,c) a  ->  a  ->  (b,c ->  a) :: (Ord c, Ord b) => FiniteMap (b,c) a  ->  a  ->  (b,c ->  a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  lookupWithDefaultFM :: Ord a => FiniteMap a b  ->  b  ->  a  ->  b
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce1 vyu vyv x y True = error []
reduce2Reduce1 vyu vyv x y False = reduce2Reduce0 vyu vyv x y otherwise

reduce2Reduce0 vyu vyv x y True = x `quot` reduce2D vyu vyv :% (y `quot` reduce2D vyu vyv)

reduce2D vyu vyv = gcd vyu vyv

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x vvw = gcd'2 x vvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x vvw = x
gcd'1 vvx vvy vvz = gcd'0 vvy vvz
gcd'2 x vvw = gcd'1 (vvw == 0) x vvw
gcd'2 vwu vwv = gcd'0 vwu vwv

are unpacked to the following functions on top level
gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd'1 True x vvw = x
gcd0Gcd'1 vvx vvy vvz = gcd0Gcd'0 vvy vvz

gcd0Gcd'2 x vvw = gcd0Gcd'1 (vvw == 0) x vvw
gcd0Gcd'2 vwu vwv = gcd0Gcd'0 vwu vwv

gcd0Gcd' x vvw = gcd0Gcd'2 x vvw
gcd0Gcd' x y = gcd0Gcd'0 x y



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
HASKELL
                          ↳ NumRed

mainModule FiniteMap
  ((lookupWithDefaultFM :: (Ord b, Ord a) => FiniteMap (b,a) c  ->  c  ->  (b,a ->  c) :: (Ord b, Ord a) => FiniteMap (b,a) c  ->  c  ->  (b,a ->  c)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  lookupWithDefaultFM :: Ord b => FiniteMap b a  ->  a  ->  b  ->  a
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
HASKELL
                              ↳ Narrow

mainModule FiniteMap
  (lookupWithDefaultFM :: (Ord b, Ord a) => FiniteMap (b,a) c  ->  c  ->  (b,a ->  c)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt vw fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vx fm_l fm_rkey_to_find lookupFM3 (Branch key elt vx fm_l fm_r) key_to_find

  
lookupFM0 key elt vx fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vx fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vx fm_l fm_r key_to_find False lookupFM0 key elt vx fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vx fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vx fm_l fm_r key_to_find False lookupFM1 key elt vx fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vx fm_l fm_rkey_to_find lookupFM2 key elt vx fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 vvu vvv lookupFM3 vvu vvv

  lookupWithDefaultFM :: Ord a => FiniteMap a b  ->  b  ->  a  ->  b
lookupWithDefaultFM fm deflt key lookupWithDefaultFM0 deflt (lookupFM fm key)

  
lookupWithDefaultFM0 deflt Nothing deflt
lookupWithDefaultFM0 deflt (Just eltelt

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM Pos Zero
sizeFM (Branch vy vz size wu wvsize


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(vyw8100), Succ(vyw3000000)) → new_primPlusNat(vyw8100, vyw3000000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(vyw50000), Succ(vyw300000)) → new_primMulNat(vyw50000, Succ(vyw300000))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(vyw5000), Succ(vyw30000)) → new_primEqNat(vyw5000, vyw30000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(vyw46000), Succ(vyw48000)) → new_primCmpNat(vyw46000, vyw48000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cb, app(ty_Maybe, ec), dg) → new_esEs1(vyw501, vyw3001, ec)
new_esEs3(Right(vyw500), Right(vyw3000), bda, app(ty_[], bdb)) → new_esEs(vyw500, vyw3000, bdb)
new_esEs3(Right(vyw500), Right(vyw3000), bda, app(app(ty_@2, bdg), bdh)) → new_esEs2(vyw500, vyw3000, bdg, bdh)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cb, cc, app(app(ty_Either, dd), de)) → new_esEs3(vyw502, vyw3002, dd, de)
new_esEs2(@2(vyw500, vyw501), @2(vyw3000, vyw3001), hc, app(ty_Maybe, hh)) → new_esEs1(vyw501, vyw3001, hh)
new_esEs2(@2(vyw500, vyw501), @2(vyw3000, vyw3001), hc, app(app(ty_@2, baa), bab)) → new_esEs2(vyw501, vyw3001, baa, bab)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cb, app(app(ty_@2, ed), ee), dg) → new_esEs2(vyw501, vyw3001, ed, ee)
new_esEs1(Just(vyw500), Just(vyw3000), app(app(app(ty_@3, gc), gd), ge)) → new_esEs0(vyw500, vyw3000, gc, gd, ge)
new_esEs3(Left(vyw500), Left(vyw3000), app(ty_Maybe, bcd), bbh) → new_esEs1(vyw500, vyw3000, bcd)
new_esEs2(@2(vyw500, vyw501), @2(vyw3000, vyw3001), app(ty_Maybe, bbb), baf) → new_esEs1(vyw500, vyw3000, bbb)
new_esEs3(Right(vyw500), Right(vyw3000), bda, app(app(ty_Either, bea), beb)) → new_esEs3(vyw500, vyw3000, bea, beb)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), app(app(ty_@2, bf), bg)) → new_esEs2(vyw500, vyw3000, bf, bg)
new_esEs2(@2(vyw500, vyw501), @2(vyw3000, vyw3001), app(app(ty_@2, bbc), bbd), baf) → new_esEs2(vyw500, vyw3000, bbc, bbd)
new_esEs3(Left(vyw500), Left(vyw3000), app(ty_[], bbg), bbh) → new_esEs(vyw500, vyw3000, bbg)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cb, app(app(app(ty_@3, dh), ea), eb), dg) → new_esEs0(vyw501, vyw3001, dh, ea, eb)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cb, cc, app(ty_[], cd)) → new_esEs(vyw502, vyw3002, cd)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), app(app(ty_@2, ff), fg), cc, dg) → new_esEs2(vyw500, vyw3000, ff, fg)
new_esEs3(Right(vyw500), Right(vyw3000), bda, app(app(app(ty_@3, bdc), bdd), bde)) → new_esEs0(vyw500, vyw3000, bdc, bdd, bde)
new_esEs3(Left(vyw500), Left(vyw3000), app(app(ty_Either, bcg), bch), bbh) → new_esEs3(vyw500, vyw3000, bcg, bch)
new_esEs1(Just(vyw500), Just(vyw3000), app(app(ty_Either, ha), hb)) → new_esEs3(vyw500, vyw3000, ha, hb)
new_esEs3(Left(vyw500), Left(vyw3000), app(app(app(ty_@3, bca), bcb), bcc), bbh) → new_esEs0(vyw500, vyw3000, bca, bcb, bcc)
new_esEs1(Just(vyw500), Just(vyw3000), app(ty_[], gb)) → new_esEs(vyw500, vyw3000, gb)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cb, cc, app(app(ty_@2, db), dc)) → new_esEs2(vyw502, vyw3002, db, dc)
new_esEs3(Left(vyw500), Left(vyw3000), app(app(ty_@2, bce), bcf), bbh) → new_esEs2(vyw500, vyw3000, bce, bcf)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), app(ty_[], eh), cc, dg) → new_esEs(vyw500, vyw3000, eh)
new_esEs2(@2(vyw500, vyw501), @2(vyw3000, vyw3001), hc, app(app(app(ty_@3, he), hf), hg)) → new_esEs0(vyw501, vyw3001, he, hf, hg)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), h) → new_esEs(vyw501, vyw3001, h)
new_esEs2(@2(vyw500, vyw501), @2(vyw3000, vyw3001), hc, app(ty_[], hd)) → new_esEs(vyw501, vyw3001, hd)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), app(app(ty_Either, bh), ca)) → new_esEs3(vyw500, vyw3000, bh, ca)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cb, cc, app(app(app(ty_@3, ce), cf), cg)) → new_esEs0(vyw502, vyw3002, ce, cf, cg)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cb, cc, app(ty_Maybe, da)) → new_esEs1(vyw502, vyw3002, da)
new_esEs2(@2(vyw500, vyw501), @2(vyw3000, vyw3001), hc, app(app(ty_Either, bac), bad)) → new_esEs3(vyw501, vyw3001, bac, bad)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cb, app(ty_[], df), dg) → new_esEs(vyw501, vyw3001, df)
new_esEs3(Right(vyw500), Right(vyw3000), bda, app(ty_Maybe, bdf)) → new_esEs1(vyw500, vyw3000, bdf)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), app(app(ty_Either, fh), ga), cc, dg) → new_esEs3(vyw500, vyw3000, fh, ga)
new_esEs2(@2(vyw500, vyw501), @2(vyw3000, vyw3001), app(app(app(ty_@3, bag), bah), bba), baf) → new_esEs0(vyw500, vyw3000, bag, bah, bba)
new_esEs1(Just(vyw500), Just(vyw3000), app(ty_Maybe, gf)) → new_esEs1(vyw500, vyw3000, gf)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), app(app(app(ty_@3, bb), bc), bd)) → new_esEs0(vyw500, vyw3000, bb, bc, bd)
new_esEs1(Just(vyw500), Just(vyw3000), app(app(ty_@2, gg), gh)) → new_esEs2(vyw500, vyw3000, gg, gh)
new_esEs2(@2(vyw500, vyw501), @2(vyw3000, vyw3001), app(ty_[], bae), baf) → new_esEs(vyw500, vyw3000, bae)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), app(ty_Maybe, fd), cc, dg) → new_esEs1(vyw500, vyw3000, fd)
new_esEs2(@2(vyw500, vyw501), @2(vyw3000, vyw3001), app(app(ty_Either, bbe), bbf), baf) → new_esEs3(vyw500, vyw3000, bbe, bbf)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), cb, app(app(ty_Either, ef), eg), dg) → new_esEs3(vyw501, vyw3001, ef, eg)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), app(ty_[], ba)) → new_esEs(vyw500, vyw3000, ba)
new_esEs0(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), app(app(app(ty_@3, fa), fb), fc), cc, dg) → new_esEs0(vyw500, vyw3000, fa, fb, fc)
new_esEs(:(vyw500, vyw501), :(vyw3000, vyw3001), app(ty_Maybe, be)) → new_esEs1(vyw500, vyw3000, be)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_compare22(@2(vyw460, Right(vyw4610)), @2(vyw480, Right(vyw4810)), False, bfd, app(app(ty_Either, cb), app(ty_[], da))) → new_ltEs1(vyw4610, vyw4810, da)
new_ltEs(Right(vyw4610), Right(vyw4810), cb, app(ty_[], da)) → new_ltEs1(vyw4610, vyw4810, da)
new_ltEs(Right(vyw4610), Right(vyw4810), cb, app(ty_Maybe, db)) → new_ltEs2(vyw4610, vyw4810, db)
new_compare3(:(vyw4600, vyw4601), :(vyw4800, vyw4801), baa) → new_compare3(vyw4601, vyw4801, baa)
new_ltEs(Right(vyw4610), Right(vyw4810), cb, app(app(ty_Either, cc), cd)) → new_ltEs(vyw4610, vyw4810, cc, cd)
new_ltEs1(vyw461, vyw481, bce) → new_compare3(vyw461, vyw481, bce)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, eh), dg), app(app(ty_Either, gc), gd))) → new_ltEs(vyw4612, vyw4812, gc, gd)
new_compare3(:(vyw4600, vyw4601), :(vyw4800, vyw4801), baa) → new_primCompAux(vyw4600, vyw4800, new_compare1(vyw4601, vyw4801, baa), baa)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, eh), dg), app(ty_[], gh))) → new_ltEs1(vyw4612, vyw4812, gh)
new_compare22(@2(vyw460, Left(vyw4610)), @2(vyw480, Left(vyw4810)), False, bfd, app(app(ty_Either, app(app(ty_Either, h), ba)), bb)) → new_ltEs(vyw4610, vyw4810, h, ba)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), app(ty_Maybe, ee), dg, dh) → new_lt2(vyw4610, vyw4810, ee)
new_compare(vyw460, vyw480, hd, he) → new_compare2(vyw460, vyw480, new_esEs4(vyw460, vyw480, hd, he), hd, he)
new_compare22(@2(vyw460, @2(vyw4610, vyw4611)), @2(vyw480, @2(vyw4810, vyw4811)), False, bfd, app(app(ty_@2, bdh), app(app(ty_Either, bea), beb))) → new_ltEs(vyw4611, vyw4811, bea, beb)
new_compare22(@2(vyw460, vyw461), @2(vyw480, vyw481), False, app(app(ty_@2, bfb), bfc), bfe) → new_compare22(vyw460, vyw480, new_esEs7(vyw460, vyw480, bfb, bfc), bfb, bfc)
new_lt3(vyw460, vyw480, bfb, bfc) → new_compare22(vyw460, vyw480, new_esEs7(vyw460, vyw480, bfb, bfc), bfb, bfc)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, app(app(ty_@2, ef), eg)), dg), dh)) → new_lt3(vyw4610, vyw4810, ef, eg)
new_compare22(@2(vyw460, Just(vyw4610)), @2(vyw480, Just(vyw4810)), False, bfd, app(ty_Maybe, app(app(ty_@2, bcc), bcd))) → new_ltEs3(vyw4610, vyw4810, bcc, bcd)
new_compare22(@2(vyw460, Right(vyw4610)), @2(vyw480, Right(vyw4810)), False, bfd, app(app(ty_Either, cb), app(app(ty_@2, dc), dd))) → new_ltEs3(vyw4610, vyw4810, dc, dd)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, dg, app(app(ty_@2, hb), hc)) → new_ltEs3(vyw4612, vyw4812, hb, hc)
new_ltEs2(Just(vyw4610), Just(vyw4810), app(app(app(ty_@3, bbf), bbg), bbh)) → new_ltEs0(vyw4610, vyw4810, bbf, bbg, bbh)
new_compare22(@2(vyw460, vyw461), @2(vyw480, vyw481), False, app(app(app(ty_@3, hf), hg), hh), bfe) → new_compare20(vyw460, vyw480, new_esEs5(vyw460, vyw480, hf, hg, hh), hf, hg, hh)
new_compare22(@2(vyw460, Right(vyw4610)), @2(vyw480, Right(vyw4810)), False, bfd, app(app(ty_Either, cb), app(ty_Maybe, db))) → new_ltEs2(vyw4610, vyw4810, db)
new_compare22(@2(vyw460, @2(vyw4610, vyw4611)), @2(vyw480, @2(vyw4810, vyw4811)), False, bfd, app(app(ty_@2, bdh), app(app(app(ty_@3, bec), bed), bee))) → new_ltEs0(vyw4611, vyw4811, bec, bed, bee)
new_ltEs(Left(vyw4610), Left(vyw4810), app(app(ty_@2, bh), ca), bb) → new_ltEs3(vyw4610, vyw4810, bh, ca)
new_lt2(vyw460, vyw480, bbc) → new_compare21(vyw460, vyw480, new_esEs6(vyw460, vyw480, bbc), bbc)
new_ltEs3(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), bdh, app(app(app(ty_@3, bec), bed), bee)) → new_ltEs0(vyw4611, vyw4811, bec, bed, bee)
new_ltEs3(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), bdh, app(app(ty_@2, beh), bfa)) → new_ltEs3(vyw4611, vyw4811, beh, bfa)
new_compare22(@2(vyw460, Just(vyw4610)), @2(vyw480, Just(vyw4810)), False, bfd, app(ty_Maybe, app(ty_[], bca))) → new_ltEs1(vyw4610, vyw4810, bca)
new_lt0(vyw460, vyw480, hf, hg, hh) → new_compare20(vyw460, vyw480, new_esEs5(vyw460, vyw480, hf, hg, hh), hf, hg, hh)
new_ltEs2(Just(vyw4610), Just(vyw4810), app(ty_[], bca)) → new_ltEs1(vyw4610, vyw4810, bca)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, app(app(app(ty_@3, ea), eb), ec)), dg), dh)) → new_lt0(vyw4610, vyw4810, ea, eb, ec)
new_ltEs(Right(vyw4610), Right(vyw4810), cb, app(app(ty_@2, dc), dd)) → new_ltEs3(vyw4610, vyw4810, dc, dd)
new_compare0(vyw460, vyw480, hf, hg, hh) → new_compare20(vyw460, vyw480, new_esEs5(vyw460, vyw480, hf, hg, hh), hf, hg, hh)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), app(ty_[], ed), dg, dh) → new_lt1(vyw4610, vyw4810, ed)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, app(app(ty_Either, fa), fb), dh) → new_lt(vyw4611, vyw4811, fa, fb)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, dg, app(app(app(ty_@3, ge), gf), gg)) → new_ltEs0(vyw4612, vyw4812, ge, gf, gg)
new_compare22(@2(vyw460, Just(vyw4610)), @2(vyw480, Just(vyw4810)), False, bfd, app(ty_Maybe, app(app(app(ty_@3, bbf), bbg), bbh))) → new_ltEs0(vyw4610, vyw4810, bbf, bbg, bbh)
new_ltEs3(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), bdh, app(app(ty_Either, bea), beb)) → new_ltEs(vyw4611, vyw4811, bea, beb)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, dg, app(ty_[], gh)) → new_ltEs1(vyw4612, vyw4812, gh)
new_ltEs3(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), app(app(ty_@2, bdf), bdg), bch) → new_lt3(vyw4610, vyw4810, bdf, bdg)
new_ltEs2(Just(vyw4610), Just(vyw4810), app(app(ty_@2, bcc), bcd)) → new_ltEs3(vyw4610, vyw4810, bcc, bcd)
new_compare21(vyw460, vyw480, False, bbc) → new_ltEs2(vyw460, vyw480, bbc)
new_primCompAux(vyw4600, vyw4800, vyw110, app(ty_[], bag)) → new_compare3(vyw4600, vyw4800, bag)
new_primCompAux(vyw4600, vyw4800, vyw110, app(app(ty_Either, bab), bac)) → new_compare(vyw4600, vyw4800, bab, bac)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, eh), dg), app(app(app(ty_@3, ge), gf), gg))) → new_ltEs0(vyw4612, vyw4812, ge, gf, gg)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, eh), app(ty_Maybe, fh)), dh)) → new_lt2(vyw4611, vyw4811, fh)
new_ltEs3(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), app(ty_Maybe, bde), bch) → new_lt2(vyw4610, vyw4810, bde)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, eh), dg), app(ty_Maybe, ha))) → new_ltEs2(vyw4612, vyw4812, ha)
new_compare22(@2(vyw460, Just(vyw4610)), @2(vyw480, Just(vyw4810)), False, bfd, app(ty_Maybe, app(ty_Maybe, bcb))) → new_ltEs2(vyw4610, vyw4810, bcb)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), app(app(ty_@2, ef), eg), dg, dh) → new_lt3(vyw4610, vyw4810, ef, eg)
new_compare4(vyw460, vyw480, bbc) → new_compare21(vyw460, vyw480, new_esEs6(vyw460, vyw480, bbc), bbc)
new_ltEs3(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), app(app(ty_Either, bcf), bcg), bch) → new_lt(vyw4610, vyw4810, bcf, bcg)
new_ltEs(Left(vyw4610), Left(vyw4810), app(ty_[], bf), bb) → new_ltEs1(vyw4610, vyw4810, bf)
new_ltEs(Left(vyw4610), Left(vyw4810), app(app(app(ty_@3, bc), bd), be), bb) → new_ltEs0(vyw4610, vyw4810, bc, bd, be)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, app(ty_Maybe, fh), dh) → new_lt2(vyw4611, vyw4811, fh)
new_compare20(vyw460, vyw480, False, hf, hg, hh) → new_ltEs0(vyw460, vyw480, hf, hg, hh)
new_compare22(@2(vyw460, Left(vyw4610)), @2(vyw480, Left(vyw4810)), False, bfd, app(app(ty_Either, app(ty_[], bf)), bb)) → new_ltEs1(vyw4610, vyw4810, bf)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, app(ty_[], fg), dh) → new_lt1(vyw4611, vyw4811, fg)
new_compare22(@2(vyw460, @2(vyw4610, vyw4611)), @2(vyw480, @2(vyw4810, vyw4811)), False, bfd, app(app(ty_@2, app(app(ty_Either, bcf), bcg)), bch)) → new_lt(vyw4610, vyw4810, bcf, bcg)
new_compare22(@2(:(vyw4600, vyw4601), vyw461), @2(:(vyw4800, vyw4801), vyw481), False, app(ty_[], baa), bfe) → new_primCompAux(vyw4600, vyw4800, new_compare1(vyw4601, vyw4801, baa), baa)
new_compare22(@2(vyw460, @2(vyw4610, vyw4611)), @2(vyw480, @2(vyw4810, vyw4811)), False, bfd, app(app(ty_@2, bdh), app(app(ty_@2, beh), bfa))) → new_ltEs3(vyw4611, vyw4811, beh, bfa)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, eh), app(ty_[], fg)), dh)) → new_lt1(vyw4611, vyw4811, fg)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, eh), app(app(ty_Either, fa), fb)), dh)) → new_lt(vyw4611, vyw4811, fa, fb)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, eh), app(app(ty_@2, ga), gb)), dh)) → new_lt3(vyw4611, vyw4811, ga, gb)
new_ltEs3(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), app(ty_[], bdd), bch) → new_lt1(vyw4610, vyw4810, bdd)
new_compare22(@2(vyw460, Right(vyw4610)), @2(vyw480, Right(vyw4810)), False, bfd, app(app(ty_Either, cb), app(app(ty_Either, cc), cd))) → new_ltEs(vyw4610, vyw4810, cc, cd)
new_ltEs(Left(vyw4610), Left(vyw4810), app(ty_Maybe, bg), bb) → new_ltEs2(vyw4610, vyw4810, bg)
new_ltEs3(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), bdh, app(ty_[], bef)) → new_ltEs1(vyw4611, vyw4811, bef)
new_primCompAux(vyw4600, vyw4800, vyw110, app(app(ty_@2, bba), bbb)) → new_compare5(vyw4600, vyw4800, bba, bbb)
new_lt(vyw460, vyw480, hd, he) → new_compare2(vyw460, vyw480, new_esEs4(vyw460, vyw480, hd, he), hd, he)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, eh), dg), app(app(ty_@2, hb), hc))) → new_ltEs3(vyw4612, vyw4812, hb, hc)
new_compare2(vyw460, vyw480, False, hd, he) → new_ltEs(vyw460, vyw480, hd, he)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, app(app(ty_Either, de), df)), dg), dh)) → new_lt(vyw4610, vyw4810, de, df)
new_ltEs(Left(vyw4610), Left(vyw4810), app(app(ty_Either, h), ba), bb) → new_ltEs(vyw4610, vyw4810, h, ba)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, app(ty_Maybe, ee)), dg), dh)) → new_lt2(vyw4610, vyw4810, ee)
new_compare22(@2(vyw460, @2(vyw4610, vyw4611)), @2(vyw480, @2(vyw4810, vyw4811)), False, bfd, app(app(ty_@2, app(ty_Maybe, bde)), bch)) → new_lt2(vyw4610, vyw4810, bde)
new_lt1(:(vyw4600, vyw4601), :(vyw4800, vyw4801), baa) → new_primCompAux(vyw4600, vyw4800, new_compare1(vyw4601, vyw4801, baa), baa)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), app(app(app(ty_@3, ea), eb), ec), dg, dh) → new_lt0(vyw4610, vyw4810, ea, eb, ec)
new_compare22(@2(vyw460, Left(vyw4610)), @2(vyw480, Left(vyw4810)), False, bfd, app(app(ty_Either, app(ty_Maybe, bg)), bb)) → new_ltEs2(vyw4610, vyw4810, bg)
new_lt1(:(vyw4600, vyw4601), :(vyw4800, vyw4801), baa) → new_compare3(vyw4601, vyw4801, baa)
new_primCompAux(vyw4600, vyw4800, vyw110, app(app(app(ty_@3, bad), bae), baf)) → new_compare0(vyw4600, vyw4800, bad, bae, baf)
new_compare22(@2(vyw460, Right(vyw4610)), @2(vyw480, Right(vyw4810)), False, bfd, app(app(ty_Either, cb), app(app(app(ty_@3, ce), cf), cg))) → new_ltEs0(vyw4610, vyw4810, ce, cf, cg)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, app(app(ty_@2, ga), gb), dh) → new_lt3(vyw4611, vyw4811, ga, gb)
new_compare22(@2(vyw460, Just(vyw4610)), @2(vyw480, Just(vyw4810)), False, bfd, app(ty_Maybe, app(app(ty_Either, bbd), bbe))) → new_ltEs(vyw4610, vyw4810, bbd, bbe)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, app(ty_[], ed)), dg), dh)) → new_lt1(vyw4610, vyw4810, ed)
new_ltEs2(Just(vyw4610), Just(vyw4810), app(app(ty_Either, bbd), bbe)) → new_ltEs(vyw4610, vyw4810, bbd, bbe)
new_compare22(@2(vyw460, @2(vyw4610, vyw4611)), @2(vyw480, @2(vyw4810, vyw4811)), False, bfd, app(app(ty_@2, bdh), app(ty_Maybe, beg))) → new_ltEs2(vyw4611, vyw4811, beg)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, app(app(app(ty_@3, fc), fd), ff), dh) → new_lt0(vyw4611, vyw4811, fc, fd, ff)
new_compare22(@2(vyw460, Left(vyw4610)), @2(vyw480, Left(vyw4810)), False, bfd, app(app(ty_Either, app(app(ty_@2, bh), ca)), bb)) → new_ltEs3(vyw4610, vyw4810, bh, ca)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, dg, app(ty_Maybe, ha)) → new_ltEs2(vyw4612, vyw4812, ha)
new_ltEs2(Just(vyw4610), Just(vyw4810), app(ty_Maybe, bcb)) → new_ltEs2(vyw4610, vyw4810, bcb)
new_compare22(@2(:(vyw4600, vyw4601), vyw461), @2(:(vyw4800, vyw4801), vyw481), False, app(ty_[], baa), bfe) → new_compare3(vyw4601, vyw4801, baa)
new_compare5(vyw460, vyw480, bfb, bfc) → new_compare22(vyw460, vyw480, new_esEs7(vyw460, vyw480, bfb, bfc), bfb, bfc)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, dg, app(app(ty_Either, gc), gd)) → new_ltEs(vyw4612, vyw4812, gc, gd)
new_compare22(@2(vyw460, @3(vyw4610, vyw4611, vyw4612)), @2(vyw480, @3(vyw4810, vyw4811, vyw4812)), False, bfd, app(app(app(ty_@3, eh), app(app(app(ty_@3, fc), fd), ff)), dh)) → new_lt0(vyw4611, vyw4811, fc, fd, ff)
new_compare22(@2(vyw460, Left(vyw4610)), @2(vyw480, Left(vyw4810)), False, bfd, app(app(ty_Either, app(app(app(ty_@3, bc), bd), be)), bb)) → new_ltEs0(vyw4610, vyw4810, bc, bd, be)
new_compare22(@2(vyw460, @2(vyw4610, vyw4611)), @2(vyw480, @2(vyw4810, vyw4811)), False, bfd, app(app(ty_@2, app(app(ty_@2, bdf), bdg)), bch)) → new_lt3(vyw4610, vyw4810, bdf, bdg)
new_primCompAux(vyw4600, vyw4800, vyw110, app(ty_Maybe, bah)) → new_compare4(vyw4600, vyw4800, bah)
new_compare22(@2(vyw460, @2(vyw4610, vyw4611)), @2(vyw480, @2(vyw4810, vyw4811)), False, bfd, app(app(ty_@2, app(ty_[], bdd)), bch)) → new_lt1(vyw4610, vyw4810, bdd)
new_compare22(@2(vyw460, vyw461), @2(vyw480, vyw481), False, app(app(ty_Either, hd), he), bfe) → new_compare2(vyw460, vyw480, new_esEs4(vyw460, vyw480, hd, he), hd, he)
new_compare22(@2(vyw460, vyw461), @2(vyw480, vyw481), False, app(ty_Maybe, bbc), bfe) → new_compare21(vyw460, vyw480, new_esEs6(vyw460, vyw480, bbc), bbc)
new_compare22(@2(vyw460, @2(vyw4610, vyw4611)), @2(vyw480, @2(vyw4810, vyw4811)), False, bfd, app(app(ty_@2, bdh), app(ty_[], bef))) → new_ltEs1(vyw4611, vyw4811, bef)
new_compare22(@2(vyw460, @2(vyw4610, vyw4611)), @2(vyw480, @2(vyw4810, vyw4811)), False, bfd, app(app(ty_@2, app(app(app(ty_@3, bda), bdb), bdc)), bch)) → new_lt0(vyw4610, vyw4810, bda, bdb, bdc)
new_ltEs(Right(vyw4610), Right(vyw4810), cb, app(app(app(ty_@3, ce), cf), cg)) → new_ltEs0(vyw4610, vyw4810, ce, cf, cg)
new_ltEs3(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), app(app(app(ty_@3, bda), bdb), bdc), bch) → new_lt0(vyw4610, vyw4810, bda, bdb, bdc)
new_compare22(@2(vyw460, vyw461), @2(vyw480, vyw481), False, bfd, app(ty_[], bce)) → new_compare3(vyw461, vyw481, bce)
new_ltEs3(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), bdh, app(ty_Maybe, beg)) → new_ltEs2(vyw4611, vyw4811, beg)
new_ltEs0(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), app(app(ty_Either, de), df), dg, dh) → new_lt(vyw4610, vyw4810, de, df)

The TRS R consists of the following rules:

new_lt5(vyw460, vyw480, ty_Float) → new_lt16(vyw460, vyw480)
new_esEs26(vyw4610, vyw4810, ty_Char) → new_esEs14(vyw4610, vyw4810)
new_compare17(Char(vyw4600), Char(vyw4800)) → new_primCmpNat0(vyw4600, vyw4800)
new_compare18(vyw90, vyw91, vyw92, vyw93, True, bhh, caa) → LT
new_lt19(vyw4610, vyw4810, ty_Char) → new_lt7(vyw4610, vyw4810)
new_compare18(vyw90, vyw91, vyw92, vyw93, False, bhh, caa) → GT
new_esEs11(vyw500, vyw3000, ty_Int) → new_esEs15(vyw500, vyw3000)
new_compare31(vyw4600, vyw4800, ty_Int) → new_compare6(vyw4600, vyw4800)
new_ltEs5(vyw461, vyw481, ty_@0) → new_ltEs14(vyw461, vyw481)
new_compare1(:(vyw4600, vyw4601), :(vyw4800, vyw4801), baa) → new_primCompAux1(vyw4600, vyw4800, new_compare1(vyw4601, vyw4801, baa), baa)
new_esEs24(vyw501, vyw3001, app(app(app(ty_@3, caf), cag), cah)) → new_esEs5(vyw501, vyw3001, caf, cag, cah)
new_lt19(vyw4610, vyw4810, app(app(app(ty_@3, ea), eb), ec)) → new_lt8(vyw4610, vyw4810, ea, eb, ec)
new_ltEs20(vyw4611, vyw4811, app(ty_[], bef)) → new_ltEs10(vyw4611, vyw4811, bef)
new_lt20(vyw4611, vyw4811, app(app(app(ty_@3, fc), fd), ff)) → new_lt8(vyw4611, vyw4811, fc, fd, ff)
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_@0) → new_ltEs14(vyw4610, vyw4810)
new_compare210(vyw460, vyw480, False, hf, hg, hh) → new_compare111(vyw460, vyw480, new_ltEs8(vyw460, vyw480, hf, hg, hh), hf, hg, hh)
new_esEs23(vyw4610, vyw4810, ty_Float) → new_esEs17(vyw4610, vyw4810)
new_lt19(vyw4610, vyw4810, ty_Int) → new_lt4(vyw4610, vyw4810)
new_esEs26(vyw4610, vyw4810, ty_Float) → new_esEs17(vyw4610, vyw4810)
new_esEs11(vyw500, vyw3000, app(app(ty_@2, bgd), bge)) → new_esEs7(vyw500, vyw3000, bgd, bge)
new_compare27(:%(vyw4600, vyw4601), :%(vyw4800, vyw4801), ty_Integer) → new_compare19(new_sr(vyw4600, vyw4801), new_sr(vyw4800, vyw4601))
new_primMulNat0(Zero, Zero) → Zero
new_esEs27(vyw502, vyw3002, ty_Bool) → new_esEs9(vyw502, vyw3002)
new_lt10(vyw460, vyw480) → new_esEs12(new_compare7(vyw460, vyw480), LT)
new_sr(Integer(vyw46000), Integer(vyw48010)) → Integer(new_primMulInt(vyw46000, vyw48010))
new_ltEs9(GT, LT) → False
new_ltEs14(vyw461, vyw481) → new_not(new_esEs12(new_compare15(vyw461, vyw481), GT))
new_ltEs13(Nothing, Just(vyw4810), bha) → True
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Ordering) → new_ltEs9(vyw4610, vyw4810)
new_ltEs5(vyw461, vyw481, ty_Float) → new_ltEs15(vyw461, vyw481)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Bool, bb) → new_ltEs11(vyw4610, vyw4810)
new_ltEs20(vyw4611, vyw4811, app(ty_Maybe, beg)) → new_ltEs13(vyw4611, vyw4811, beg)
new_esEs28(vyw501, vyw3001, ty_Int) → new_esEs15(vyw501, vyw3001)
new_esEs29(vyw500, vyw3000, app(app(ty_Either, dde), ddf)) → new_esEs4(vyw500, vyw3000, dde, ddf)
new_esEs24(vyw501, vyw3001, ty_Integer) → new_esEs8(vyw501, vyw3001)
new_compare1([], :(vyw4800, vyw4801), baa) → LT
new_ltEs5(vyw461, vyw481, ty_Ordering) → new_ltEs9(vyw461, vyw481)
new_esEs23(vyw4610, vyw4810, ty_Bool) → new_esEs9(vyw4610, vyw4810)
new_esEs12(GT, LT) → False
new_esEs12(LT, GT) → False
new_esEs4(Right(vyw500), Right(vyw3000), ced, ty_Ordering) → new_esEs12(vyw500, vyw3000)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Integer, bb) → new_ltEs12(vyw4610, vyw4810)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(app(ty_Either, h), ba), bb) → new_ltEs6(vyw4610, vyw4810, h, ba)
new_esEs26(vyw4610, vyw4810, app(ty_[], bdd)) → new_esEs10(vyw4610, vyw4810, bdd)
new_esEs21(vyw500, vyw3000, ty_Int) → new_esEs15(vyw500, vyw3000)
new_ltEs5(vyw461, vyw481, app(app(ty_Either, cb), bb)) → new_ltEs6(vyw461, vyw481, cb, bb)
new_esEs22(vyw4611, vyw4811, app(ty_Maybe, fh)) → new_esEs6(vyw4611, vyw4811, fh)
new_esEs27(vyw502, vyw3002, app(ty_Maybe, dae)) → new_esEs6(vyw502, vyw3002, dae)
new_esEs6(Just(vyw500), Just(vyw3000), app(app(ty_@2, cge), cgf)) → new_esEs7(vyw500, vyw3000, cge, cgf)
new_esEs23(vyw4610, vyw4810, ty_Double) → new_esEs13(vyw4610, vyw4810)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, ty_@0) → new_ltEs14(vyw4610, vyw4810)
new_ltEs9(EQ, GT) → True
new_esEs29(vyw500, vyw3000, ty_Bool) → new_esEs9(vyw500, vyw3000)
new_esEs19(vyw460, vyw480, app(app(app(ty_@3, hf), hg), hh)) → new_esEs5(vyw460, vyw480, hf, hg, hh)
new_lt21(vyw4610, vyw4810, ty_Char) → new_lt7(vyw4610, vyw4810)
new_esEs28(vyw501, vyw3001, app(app(app(ty_@3, dbd), dbe), dbf)) → new_esEs5(vyw501, vyw3001, dbd, dbe, dbf)
new_esEs28(vyw501, vyw3001, ty_Bool) → new_esEs9(vyw501, vyw3001)
new_ltEs9(LT, EQ) → True
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Char) → new_ltEs7(vyw4610, vyw4810)
new_esEs22(vyw4611, vyw4811, ty_Ordering) → new_esEs12(vyw4611, vyw4811)
new_esEs25(vyw500, vyw3000, app(ty_[], cbg)) → new_esEs10(vyw500, vyw3000, cbg)
new_pePe(False, vyw109) → vyw109
new_esEs19(vyw460, vyw480, app(ty_[], baa)) → new_esEs10(vyw460, vyw480, baa)
new_esEs25(vyw500, vyw3000, app(app(ty_@2, ccd), cce)) → new_esEs7(vyw500, vyw3000, ccd, cce)
new_esEs25(vyw500, vyw3000, app(app(ty_Either, ccg), cch)) → new_esEs4(vyw500, vyw3000, ccg, cch)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, ty_Int) → new_ltEs18(vyw4610, vyw4810)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, app(ty_[], da)) → new_ltEs10(vyw4610, vyw4810, da)
new_lt19(vyw4610, vyw4810, ty_Double) → new_lt10(vyw4610, vyw4810)
new_esEs22(vyw4611, vyw4811, app(app(ty_Either, fa), fb)) → new_esEs4(vyw4611, vyw4811, fa, fb)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(ty_[], bf), bb) → new_ltEs10(vyw4610, vyw4810, bf)
new_esEs4(Right(vyw500), Right(vyw3000), ced, app(ty_Maybe, cfa)) → new_esEs6(vyw500, vyw3000, cfa)
new_lt21(vyw4610, vyw4810, app(ty_[], bdd)) → new_lt11(vyw4610, vyw4810, bdd)
new_esEs15(vyw50, vyw300) → new_primEqInt(vyw50, vyw300)
new_lt19(vyw4610, vyw4810, ty_Ordering) → new_lt9(vyw4610, vyw4810)
new_esEs4(Right(vyw500), Right(vyw3000), ced, app(ty_Ratio, cfd)) → new_esEs16(vyw500, vyw3000, cfd)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Float, bb) → new_ltEs15(vyw4610, vyw4810)
new_esEs27(vyw502, vyw3002, ty_Float) → new_esEs17(vyw502, vyw3002)
new_compare31(vyw4600, vyw4800, ty_Bool) → new_compare29(vyw4600, vyw4800)
new_lt21(vyw4610, vyw4810, app(ty_Ratio, chd)) → new_lt18(vyw4610, vyw4810, chd)
new_esEs19(vyw460, vyw480, app(ty_Maybe, bbc)) → new_esEs6(vyw460, vyw480, bbc)
new_esEs11(vyw500, vyw3000, ty_Char) → new_esEs14(vyw500, vyw3000)
new_compare29(vyw460, vyw480) → new_compare28(vyw460, vyw480, new_esEs9(vyw460, vyw480))
new_lt20(vyw4611, vyw4811, app(app(ty_@2, ga), gb)) → new_lt17(vyw4611, vyw4811, ga, gb)
new_lt5(vyw460, vyw480, ty_Ordering) → new_lt9(vyw460, vyw480)
new_lt19(vyw4610, vyw4810, app(ty_Maybe, ee)) → new_lt14(vyw4610, vyw4810, ee)
new_esEs5(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), chf, chg, chh) → new_asAs(new_esEs29(vyw500, vyw3000, chf), new_asAs(new_esEs28(vyw501, vyw3001, chg), new_esEs27(vyw502, vyw3002, chh)))
new_esEs4(Left(vyw500), Left(vyw3000), app(ty_Ratio, cea), cdb) → new_esEs16(vyw500, vyw3000, cea)
new_ltEs9(EQ, EQ) → True
new_compare15(@0, @0) → EQ
new_ltEs20(vyw4611, vyw4811, ty_Integer) → new_ltEs12(vyw4611, vyw4811)
new_ltEs11(False, True) → True
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, ty_Integer) → new_ltEs12(vyw4610, vyw4810)
new_lt5(vyw460, vyw480, app(app(ty_Either, hd), he)) → new_lt6(vyw460, vyw480, hd, he)
new_esEs13(Double(vyw500, vyw501), Double(vyw3000, vyw3001)) → new_esEs15(new_sr0(vyw500, vyw3000), new_sr0(vyw501, vyw3001))
new_esEs28(vyw501, vyw3001, app(ty_Ratio, dcb)) → new_esEs16(vyw501, vyw3001, dcb)
new_esEs22(vyw4611, vyw4811, ty_Bool) → new_esEs9(vyw4611, vyw4811)
new_compare10(vyw460, vyw480, True, bbc) → LT
new_compare211(vyw460, vyw480, False) → new_compare16(vyw460, vyw480, new_ltEs9(vyw460, vyw480))
new_lt21(vyw4610, vyw4810, ty_Double) → new_lt10(vyw4610, vyw4810)
new_ltEs13(Just(vyw4610), Just(vyw4810), app(ty_[], bca)) → new_ltEs10(vyw4610, vyw4810, bca)
new_esEs6(Just(vyw500), Just(vyw3000), app(app(app(ty_@3, cga), cgb), cgc)) → new_esEs5(vyw500, vyw3000, cga, cgb, cgc)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Ordering, bb) → new_ltEs9(vyw4610, vyw4810)
new_ltEs5(vyw461, vyw481, app(ty_Maybe, bha)) → new_ltEs13(vyw461, vyw481, bha)
new_primCmpNat0(Zero, Succ(vyw48000)) → LT
new_ltEs13(Nothing, Nothing, bha) → True
new_ltEs19(vyw4612, vyw4812, ty_Float) → new_ltEs15(vyw4612, vyw4812)
new_esEs23(vyw4610, vyw4810, ty_Integer) → new_esEs8(vyw4610, vyw4810)
new_esEs4(Right(vyw500), Right(vyw3000), ced, app(app(ty_@2, cfb), cfc)) → new_esEs7(vyw500, vyw3000, cfb, cfc)
new_esEs25(vyw500, vyw3000, ty_Bool) → new_esEs9(vyw500, vyw3000)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Ordering) → new_esEs12(vyw500, vyw3000)
new_esEs28(vyw501, vyw3001, ty_Char) → new_esEs14(vyw501, vyw3001)
new_esEs19(vyw460, vyw480, ty_Float) → new_esEs17(vyw460, vyw480)
new_lt20(vyw4611, vyw4811, ty_@0) → new_lt15(vyw4611, vyw4811)
new_compare11(vyw90, vyw91, vyw92, vyw93, True, vyw95, bhh, caa) → new_compare18(vyw90, vyw91, vyw92, vyw93, True, bhh, caa)
new_lt21(vyw4610, vyw4810, app(app(ty_@2, bdf), bdg)) → new_lt17(vyw4610, vyw4810, bdf, bdg)
new_esEs25(vyw500, vyw3000, ty_Char) → new_esEs14(vyw500, vyw3000)
new_lt19(vyw4610, vyw4810, ty_@0) → new_lt15(vyw4610, vyw4810)
new_esEs6(Just(vyw500), Just(vyw3000), ty_@0) → new_esEs18(vyw500, vyw3000)
new_esEs11(vyw500, vyw3000, ty_Integer) → new_esEs8(vyw500, vyw3000)
new_esEs29(vyw500, vyw3000, app(app(ty_@2, ddb), ddc)) → new_esEs7(vyw500, vyw3000, ddb, ddc)
new_esEs12(LT, LT) → True
new_esEs4(Right(vyw500), Right(vyw3000), ced, ty_Char) → new_esEs14(vyw500, vyw3000)
new_compare10(vyw460, vyw480, False, bbc) → GT
new_esEs28(vyw501, vyw3001, ty_Float) → new_esEs17(vyw501, vyw3001)
new_pePe(True, vyw109) → True
new_primEqNat0(Zero, Zero) → True
new_esEs27(vyw502, vyw3002, ty_@0) → new_esEs18(vyw502, vyw3002)
new_esEs19(vyw460, vyw480, ty_Char) → new_esEs14(vyw460, vyw480)
new_ltEs16(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), bdh, bch) → new_pePe(new_lt21(vyw4610, vyw4810, bdh), new_asAs(new_esEs26(vyw4610, vyw4810, bdh), new_ltEs20(vyw4611, vyw4811, bch)))
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Int) → new_ltEs18(vyw4610, vyw4810)
new_esEs29(vyw500, vyw3000, app(ty_Maybe, dda)) → new_esEs6(vyw500, vyw3000, dda)
new_ltEs5(vyw461, vyw481, ty_Int) → new_ltEs18(vyw461, vyw481)
new_esEs4(Right(vyw500), Right(vyw3000), ced, app(ty_[], cee)) → new_esEs10(vyw500, vyw3000, cee)
new_esEs26(vyw4610, vyw4810, app(ty_Maybe, bde)) → new_esEs6(vyw4610, vyw4810, bde)
new_compare31(vyw4600, vyw4800, app(app(ty_Either, bab), bac)) → new_compare26(vyw4600, vyw4800, bab, bac)
new_compare31(vyw4600, vyw4800, ty_Integer) → new_compare19(vyw4600, vyw4800)
new_esEs25(vyw500, vyw3000, ty_Integer) → new_esEs8(vyw500, vyw3000)
new_esEs4(Left(vyw500), Left(vyw3000), app(ty_[], cda), cdb) → new_esEs10(vyw500, vyw3000, cda)
new_esEs22(vyw4611, vyw4811, app(app(ty_@2, ga), gb)) → new_esEs7(vyw4611, vyw4811, ga, gb)
new_esEs23(vyw4610, vyw4810, ty_Char) → new_esEs14(vyw4610, vyw4810)
new_esEs25(vyw500, vyw3000, ty_Int) → new_esEs15(vyw500, vyw3000)
new_ltEs9(EQ, LT) → False
new_compare12(vyw460, vyw480, False, hd, he) → GT
new_esEs17(Float(vyw500, vyw501), Float(vyw3000, vyw3001)) → new_esEs15(new_sr0(vyw500, vyw3000), new_sr0(vyw501, vyw3001))
new_ltEs5(vyw461, vyw481, ty_Char) → new_ltEs7(vyw461, vyw481)
new_esEs11(vyw500, vyw3000, ty_Double) → new_esEs13(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(app(ty_@2, cbb), cbc)) → new_esEs7(vyw501, vyw3001, cbb, cbc)
new_ltEs18(vyw461, vyw481) → new_not(new_esEs12(new_compare6(vyw461, vyw481), GT))
new_lt14(vyw460, vyw480, bbc) → new_esEs12(new_compare8(vyw460, vyw480, bbc), LT)
new_esEs11(vyw500, vyw3000, ty_Ordering) → new_esEs12(vyw500, vyw3000)
new_primPlusNat0(Succ(vyw810), vyw300000) → Succ(Succ(new_primPlusNat1(vyw810, vyw300000)))
new_ltEs20(vyw4611, vyw4811, app(app(ty_Either, bea), beb)) → new_ltEs6(vyw4611, vyw4811, bea, beb)
new_esEs27(vyw502, vyw3002, ty_Integer) → new_esEs8(vyw502, vyw3002)
new_esEs26(vyw4610, vyw4810, ty_Bool) → new_esEs9(vyw4610, vyw4810)
new_esEs25(vyw500, vyw3000, ty_Ordering) → new_esEs12(vyw500, vyw3000)
new_esEs4(Right(vyw500), Right(vyw3000), ced, app(app(ty_Either, cfe), cff)) → new_esEs4(vyw500, vyw3000, cfe, cff)
new_esEs22(vyw4611, vyw4811, ty_Char) → new_esEs14(vyw4611, vyw4811)
new_lt20(vyw4611, vyw4811, ty_Ordering) → new_lt9(vyw4611, vyw4811)
new_primEqInt(Neg(Succ(vyw5000)), Neg(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_ltEs15(vyw461, vyw481) → new_not(new_esEs12(new_compare13(vyw461, vyw481), GT))
new_esEs4(Right(vyw500), Right(vyw3000), ced, ty_Bool) → new_esEs9(vyw500, vyw3000)
new_lt9(vyw460, vyw480) → new_esEs12(new_compare30(vyw460, vyw480), LT)
new_compare7(Double(vyw4600, vyw4601), Double(vyw4800, vyw4801)) → new_compare6(new_sr0(vyw4600, vyw4800), new_sr0(vyw4601, vyw4801))
new_esEs23(vyw4610, vyw4810, ty_Int) → new_esEs15(vyw4610, vyw4810)
new_esEs4(Left(vyw500), Left(vyw3000), app(app(ty_Either, ceb), cec), cdb) → new_esEs4(vyw500, vyw3000, ceb, cec)
new_esEs4(Left(vyw500), Left(vyw3000), app(app(app(ty_@3, cdc), cdd), cde), cdb) → new_esEs5(vyw500, vyw3000, cdc, cdd, cde)
new_primPlusNat1(Succ(vyw8100), Zero) → Succ(vyw8100)
new_primPlusNat1(Zero, Succ(vyw3000000)) → Succ(vyw3000000)
new_ltEs19(vyw4612, vyw4812, app(ty_Ratio, bhg)) → new_ltEs17(vyw4612, vyw4812, bhg)
new_esEs22(vyw4611, vyw4811, ty_Int) → new_esEs15(vyw4611, vyw4811)
new_lt18(vyw460, vyw480, bhc) → new_esEs12(new_compare27(vyw460, vyw480, bhc), LT)
new_lt4(vyw460, vyw480) → new_esEs12(new_compare6(vyw460, vyw480), LT)
new_lt20(vyw4611, vyw4811, ty_Int) → new_lt4(vyw4611, vyw4811)
new_esEs20(vyw501, vyw3001, ty_Int) → new_esEs15(vyw501, vyw3001)
new_esEs4(Left(vyw500), Left(vyw3000), ty_Double, cdb) → new_esEs13(vyw500, vyw3000)
new_esEs12(EQ, LT) → False
new_esEs12(LT, EQ) → False
new_compare16(vyw460, vyw480, True) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_compare31(vyw4600, vyw4800, ty_@0) → new_compare15(vyw4600, vyw4800)
new_ltEs20(vyw4611, vyw4811, ty_Bool) → new_ltEs11(vyw4611, vyw4811)
new_esEs22(vyw4611, vyw4811, ty_@0) → new_esEs18(vyw4611, vyw4811)
new_esEs29(vyw500, vyw3000, ty_Integer) → new_esEs8(vyw500, vyw3000)
new_esEs28(vyw501, vyw3001, ty_Double) → new_esEs13(vyw501, vyw3001)
new_esEs11(vyw500, vyw3000, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs5(vyw500, vyw3000, bfh, bga, bgb)
new_ltEs20(vyw4611, vyw4811, app(ty_Ratio, che)) → new_ltEs17(vyw4611, vyw4811, che)
new_compare23(vyw460, vyw480, False, bbc) → new_compare10(vyw460, vyw480, new_ltEs13(vyw460, vyw480, bbc), bbc)
new_lt5(vyw460, vyw480, ty_Int) → new_lt4(vyw460, vyw480)
new_primEqInt(Neg(Zero), Neg(Succ(vyw30000))) → False
new_primEqInt(Neg(Succ(vyw5000)), Neg(Zero)) → False
new_esEs22(vyw4611, vyw4811, ty_Integer) → new_esEs8(vyw4611, vyw4811)
new_primCompAux0(vyw117, GT) → GT
new_compare31(vyw4600, vyw4800, ty_Ordering) → new_compare30(vyw4600, vyw4800)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, ty_Char) → new_ltEs7(vyw4610, vyw4810)
new_ltEs12(vyw461, vyw481) → new_not(new_esEs12(new_compare19(vyw461, vyw481), GT))
new_esEs4(Left(vyw500), Left(vyw3000), ty_Float, cdb) → new_esEs17(vyw500, vyw3000)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, ty_Float) → new_ltEs15(vyw4610, vyw4810)
new_ltEs7(vyw461, vyw481) → new_not(new_esEs12(new_compare17(vyw461, vyw481), GT))
new_compare9(vyw460, vyw480, bfb, bfc) → new_compare24(vyw460, vyw480, new_esEs7(vyw460, vyw480, bfb, bfc), bfb, bfc)
new_lt5(vyw460, vyw480, app(app(app(ty_@3, hf), hg), hh)) → new_lt8(vyw460, vyw480, hf, hg, hh)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, app(ty_Ratio, chc)) → new_ltEs17(vyw4610, vyw4810, chc)
new_compare24(vyw46, vyw48, True, bfd, bfe) → EQ
new_ltEs9(LT, LT) → True
new_esEs22(vyw4611, vyw4811, app(app(app(ty_@3, fc), fd), ff)) → new_esEs5(vyw4611, vyw4811, fc, fd, ff)
new_lt21(vyw4610, vyw4810, ty_Float) → new_lt16(vyw4610, vyw4810)
new_esEs6(Just(vyw500), Just(vyw3000), app(app(ty_Either, cgh), cha)) → new_esEs4(vyw500, vyw3000, cgh, cha)
new_ltEs5(vyw461, vyw481, app(ty_Ratio, bhb)) → new_ltEs17(vyw461, vyw481, bhb)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs28(vyw501, vyw3001, ty_@0) → new_esEs18(vyw501, vyw3001)
new_lt12(vyw460, vyw480) → new_esEs12(new_compare29(vyw460, vyw480), LT)
new_esEs10(:(vyw500, vyw501), [], bff) → False
new_esEs10([], :(vyw3000, vyw3001), bff) → False
new_compare6(vyw460, vyw480) → new_primCmpInt(vyw460, vyw480)
new_esEs21(vyw500, vyw3000, ty_Integer) → new_esEs8(vyw500, vyw3000)
new_esEs19(vyw460, vyw480, ty_Bool) → new_esEs9(vyw460, vyw480)
new_esEs28(vyw501, vyw3001, app(app(ty_@2, dbh), dca)) → new_esEs7(vyw501, vyw3001, dbh, dca)
new_lt11(vyw460, vyw480, baa) → new_esEs12(new_compare1(vyw460, vyw480, baa), LT)
new_lt20(vyw4611, vyw4811, ty_Integer) → new_lt13(vyw4611, vyw4811)
new_primCmpNat0(Succ(vyw46000), Succ(vyw48000)) → new_primCmpNat0(vyw46000, vyw48000)
new_esEs19(vyw460, vyw480, ty_@0) → new_esEs18(vyw460, vyw480)
new_lt21(vyw4610, vyw4810, app(app(app(ty_@3, bda), bdb), bdc)) → new_lt8(vyw4610, vyw4810, bda, bdb, bdc)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(ty_Ratio, chb), bb) → new_ltEs17(vyw4610, vyw4810, chb)
new_esEs6(Nothing, Nothing, cfg) → True
new_esEs11(vyw500, vyw3000, ty_Bool) → new_esEs9(vyw500, vyw3000)
new_lt5(vyw460, vyw480, app(ty_Maybe, bbc)) → new_lt14(vyw460, vyw480, bbc)
new_primEqInt(Pos(Succ(vyw5000)), Pos(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_esEs11(vyw500, vyw3000, ty_Float) → new_esEs17(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(ty_Ratio, cbd)) → new_esEs16(vyw501, vyw3001, cbd)
new_compare12(vyw460, vyw480, True, hd, he) → LT
new_ltEs11(True, False) → False
new_esEs10([], [], bff) → True
new_esEs6(Just(vyw500), Nothing, cfg) → False
new_esEs6(Nothing, Just(vyw3000), cfg) → False
new_primEqNat0(Succ(vyw5000), Succ(vyw30000)) → new_primEqNat0(vyw5000, vyw30000)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Double, bb) → new_ltEs4(vyw4610, vyw4810)
new_esEs26(vyw4610, vyw4810, ty_Ordering) → new_esEs12(vyw4610, vyw4810)
new_lt21(vyw4610, vyw4810, ty_Integer) → new_lt13(vyw4610, vyw4810)
new_lt5(vyw460, vyw480, ty_Bool) → new_lt12(vyw460, vyw480)
new_compare111(vyw460, vyw480, True, hf, hg, hh) → LT
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Integer) → new_ltEs12(vyw4610, vyw4810)
new_esEs4(Left(vyw500), Left(vyw3000), ty_Bool, cdb) → new_esEs9(vyw500, vyw3000)
new_primCmpInt(Neg(Succ(vyw46000)), Neg(vyw4800)) → new_primCmpNat0(vyw4800, Succ(vyw46000))
new_esEs27(vyw502, vyw3002, app(app(app(ty_@3, dab), dac), dad)) → new_esEs5(vyw502, vyw3002, dab, dac, dad)
new_ltEs6(Left(vyw4610), Right(vyw4810), cb, bb) → True
new_lt16(vyw460, vyw480) → new_esEs12(new_compare13(vyw460, vyw480), LT)
new_esEs12(EQ, EQ) → True
new_ltEs6(Right(vyw4610), Left(vyw4810), cb, bb) → False
new_primEqInt(Pos(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Succ(vyw5000)), Pos(Zero)) → False
new_esEs25(vyw500, vyw3000, ty_Float) → new_esEs17(vyw500, vyw3000)
new_lt8(vyw460, vyw480, hf, hg, hh) → new_esEs12(new_compare14(vyw460, vyw480, hf, hg, hh), LT)
new_ltEs5(vyw461, vyw481, ty_Double) → new_ltEs4(vyw461, vyw481)
new_primCmpNat0(Zero, Zero) → EQ
new_esEs23(vyw4610, vyw4810, ty_@0) → new_esEs18(vyw4610, vyw4810)
new_primCmpNat0(Succ(vyw46000), Zero) → GT
new_esEs4(Right(vyw500), Right(vyw3000), ced, app(app(app(ty_@3, cef), ceg), ceh)) → new_esEs5(vyw500, vyw3000, cef, ceg, ceh)
new_ltEs19(vyw4612, vyw4812, ty_Ordering) → new_ltEs9(vyw4612, vyw4812)
new_lt5(vyw460, vyw480, ty_Double) → new_lt10(vyw460, vyw480)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw48000))) → LT
new_ltEs20(vyw4611, vyw4811, ty_@0) → new_ltEs14(vyw4611, vyw4811)
new_compare210(vyw460, vyw480, True, hf, hg, hh) → EQ
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, app(app(app(ty_@3, ce), cf), cg)) → new_ltEs8(vyw4610, vyw4810, ce, cf, cg)
new_lt5(vyw460, vyw480, ty_Char) → new_lt7(vyw460, vyw480)
new_primPlusNat1(Succ(vyw8100), Succ(vyw3000000)) → Succ(Succ(new_primPlusNat1(vyw8100, vyw3000000)))
new_primEqInt(Neg(Succ(vyw5000)), Pos(vyw3000)) → False
new_primEqInt(Pos(Succ(vyw5000)), Neg(vyw3000)) → False
new_esEs26(vyw4610, vyw4810, ty_Double) → new_esEs13(vyw4610, vyw4810)
new_lt21(vyw4610, vyw4810, ty_Bool) → new_lt12(vyw4610, vyw4810)
new_compare13(Float(vyw4600, vyw4601), Float(vyw4800, vyw4801)) → new_compare6(new_sr0(vyw4600, vyw4800), new_sr0(vyw4601, vyw4801))
new_esEs6(Just(vyw500), Just(vyw3000), ty_Bool) → new_esEs9(vyw500, vyw3000)
new_lt5(vyw460, vyw480, app(ty_Ratio, bhc)) → new_lt18(vyw460, vyw480, bhc)
new_ltEs20(vyw4611, vyw4811, ty_Float) → new_ltEs15(vyw4611, vyw4811)
new_esEs26(vyw4610, vyw4810, app(ty_Ratio, chd)) → new_esEs16(vyw4610, vyw4810, chd)
new_esEs28(vyw501, vyw3001, app(ty_Maybe, dbg)) → new_esEs6(vyw501, vyw3001, dbg)
new_primEqInt(Neg(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vyw30000))) → False
new_compare30(vyw460, vyw480) → new_compare211(vyw460, vyw480, new_esEs12(vyw460, vyw480))
new_esEs24(vyw501, vyw3001, ty_Ordering) → new_esEs12(vyw501, vyw3001)
new_ltEs5(vyw461, vyw481, app(app(ty_@2, bdh), bch)) → new_ltEs16(vyw461, vyw481, bdh, bch)
new_primCmpInt(Pos(Zero), Pos(Succ(vyw48000))) → new_primCmpNat0(Zero, Succ(vyw48000))
new_esEs4(Left(vyw500), Left(vyw3000), ty_Int, cdb) → new_esEs15(vyw500, vyw3000)
new_esEs7(@2(vyw500, vyw501), @2(vyw3000, vyw3001), cac, cad) → new_asAs(new_esEs25(vyw500, vyw3000, cac), new_esEs24(vyw501, vyw3001, cad))
new_esEs27(vyw502, vyw3002, app(app(ty_@2, daf), dag)) → new_esEs7(vyw502, vyw3002, daf, dag)
new_ltEs20(vyw4611, vyw4811, ty_Double) → new_ltEs4(vyw4611, vyw4811)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Char) → new_esEs14(vyw500, vyw3000)
new_esEs28(vyw501, vyw3001, ty_Ordering) → new_esEs12(vyw501, vyw3001)
new_esEs27(vyw502, vyw3002, app(ty_Ratio, dah)) → new_esEs16(vyw502, vyw3002, dah)
new_esEs10(:(vyw500, vyw501), :(vyw3000, vyw3001), bff) → new_asAs(new_esEs11(vyw500, vyw3000, bff), new_esEs10(vyw501, vyw3001, bff))
new_primCompAux0(vyw117, LT) → LT
new_not(False) → True
new_lt20(vyw4611, vyw4811, app(ty_[], fg)) → new_lt11(vyw4611, vyw4811, fg)
new_ltEs19(vyw4612, vyw4812, ty_Double) → new_ltEs4(vyw4612, vyw4812)
new_esEs11(vyw500, vyw3000, app(ty_Maybe, bgc)) → new_esEs6(vyw500, vyw3000, bgc)
new_esEs29(vyw500, vyw3000, ty_@0) → new_esEs18(vyw500, vyw3000)
new_esEs4(Right(vyw500), Right(vyw3000), ced, ty_Integer) → new_esEs8(vyw500, vyw3000)
new_primCmpInt(Pos(Succ(vyw46000)), Pos(vyw4800)) → new_primCmpNat0(Succ(vyw46000), vyw4800)
new_primPlusNat0(Zero, vyw300000) → Succ(vyw300000)
new_esEs4(Left(vyw500), Left(vyw3000), ty_@0, cdb) → new_esEs18(vyw500, vyw3000)
new_esEs12(GT, EQ) → False
new_esEs12(EQ, GT) → False
new_esEs19(vyw460, vyw480, app(app(ty_@2, bfb), bfc)) → new_esEs7(vyw460, vyw480, bfb, bfc)
new_ltEs19(vyw4612, vyw4812, app(ty_[], gh)) → new_ltEs10(vyw4612, vyw4812, gh)
new_esEs25(vyw500, vyw3000, ty_Double) → new_esEs13(vyw500, vyw3000)
new_compare31(vyw4600, vyw4800, ty_Double) → new_compare7(vyw4600, vyw4800)
new_ltEs9(LT, GT) → True
new_ltEs19(vyw4612, vyw4812, ty_Int) → new_ltEs18(vyw4612, vyw4812)
new_esEs25(vyw500, vyw3000, app(ty_Ratio, ccf)) → new_esEs16(vyw500, vyw3000, ccf)
new_lt20(vyw4611, vyw4811, app(app(ty_Either, fa), fb)) → new_lt6(vyw4611, vyw4811, fa, fb)
new_esEs24(vyw501, vyw3001, ty_Float) → new_esEs17(vyw501, vyw3001)
new_esEs23(vyw4610, vyw4810, app(ty_[], ed)) → new_esEs10(vyw4610, vyw4810, ed)
new_esEs6(Just(vyw500), Just(vyw3000), app(ty_Ratio, cgg)) → new_esEs16(vyw500, vyw3000, cgg)
new_ltEs11(False, False) → True
new_compare28(vyw460, vyw480, True) → EQ
new_esEs29(vyw500, vyw3000, ty_Int) → new_esEs15(vyw500, vyw3000)
new_lt19(vyw4610, vyw4810, app(ty_Ratio, bhe)) → new_lt18(vyw4610, vyw4810, bhe)
new_esEs9(True, True) → True
new_ltEs20(vyw4611, vyw4811, app(app(app(ty_@3, bec), bed), bee)) → new_ltEs8(vyw4611, vyw4811, bec, bed, bee)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Int, bb) → new_ltEs18(vyw4610, vyw4810)
new_esEs24(vyw501, vyw3001, ty_Int) → new_esEs15(vyw501, vyw3001)
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Float) → new_ltEs15(vyw4610, vyw4810)
new_esEs20(vyw501, vyw3001, ty_Integer) → new_esEs8(vyw501, vyw3001)
new_primCmpInt(Pos(Succ(vyw46000)), Neg(vyw4800)) → GT
new_ltEs19(vyw4612, vyw4812, ty_Integer) → new_ltEs12(vyw4612, vyw4812)
new_primMulInt(Pos(vyw5000), Pos(vyw30000)) → Pos(new_primMulNat0(vyw5000, vyw30000))
new_lt19(vyw4610, vyw4810, ty_Float) → new_lt16(vyw4610, vyw4810)
new_lt5(vyw460, vyw480, ty_@0) → new_lt15(vyw460, vyw480)
new_lt19(vyw4610, vyw4810, ty_Bool) → new_lt12(vyw4610, vyw4810)
new_compare19(Integer(vyw4600), Integer(vyw4800)) → new_primCmpInt(vyw4600, vyw4800)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(app(ty_@2, bh), ca), bb) → new_ltEs16(vyw4610, vyw4810, bh, ca)
new_compare27(:%(vyw4600, vyw4601), :%(vyw4800, vyw4801), ty_Int) → new_compare6(new_sr0(vyw4600, vyw4801), new_sr0(vyw4800, vyw4601))
new_esEs22(vyw4611, vyw4811, ty_Double) → new_esEs13(vyw4611, vyw4811)
new_esEs23(vyw4610, vyw4810, app(app(ty_Either, de), df)) → new_esEs4(vyw4610, vyw4810, de, df)
new_esEs19(vyw460, vyw480, ty_Ordering) → new_esEs12(vyw460, vyw480)
new_ltEs4(vyw461, vyw481) → new_not(new_esEs12(new_compare7(vyw461, vyw481), GT))
new_primMulInt(Neg(vyw5000), Neg(vyw30000)) → Pos(new_primMulNat0(vyw5000, vyw30000))
new_compare31(vyw4600, vyw4800, ty_Float) → new_compare13(vyw4600, vyw4800)
new_compare110(vyw460, vyw480, True) → LT
new_esEs16(:%(vyw500, vyw501), :%(vyw3000, vyw3001), bhd) → new_asAs(new_esEs21(vyw500, vyw3000, bhd), new_esEs20(vyw501, vyw3001, bhd))
new_primEqNat0(Zero, Succ(vyw30000)) → False
new_primEqNat0(Succ(vyw5000), Zero) → False
new_ltEs20(vyw4611, vyw4811, ty_Int) → new_ltEs18(vyw4611, vyw4811)
new_esEs22(vyw4611, vyw4811, ty_Float) → new_esEs17(vyw4611, vyw4811)
new_esEs27(vyw502, vyw3002, ty_Char) → new_esEs14(vyw502, vyw3002)
new_esEs26(vyw4610, vyw4810, app(app(ty_@2, bdf), bdg)) → new_esEs7(vyw4610, vyw4810, bdf, bdg)
new_compare25(vyw460, vyw480, True, hd, he) → EQ
new_esEs25(vyw500, vyw3000, app(ty_Maybe, ccc)) → new_esEs6(vyw500, vyw3000, ccc)
new_lt21(vyw4610, vyw4810, ty_Ordering) → new_lt9(vyw4610, vyw4810)
new_compare110(vyw460, vyw480, False) → GT
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs19(vyw4612, vyw4812, ty_Char) → new_ltEs7(vyw4612, vyw4812)
new_esEs24(vyw501, vyw3001, app(app(ty_Either, cbe), cbf)) → new_esEs4(vyw501, vyw3001, cbe, cbf)
new_lt19(vyw4610, vyw4810, app(ty_[], ed)) → new_lt11(vyw4610, vyw4810, ed)
new_lt15(vyw460, vyw480) → new_esEs12(new_compare15(vyw460, vyw480), LT)
new_esEs27(vyw502, vyw3002, app(app(ty_Either, dba), dbb)) → new_esEs4(vyw502, vyw3002, dba, dbb)
new_compare111(vyw460, vyw480, False, hf, hg, hh) → GT
new_compare31(vyw4600, vyw4800, app(ty_Maybe, bah)) → new_compare8(vyw4600, vyw4800, bah)
new_compare26(vyw460, vyw480, hd, he) → new_compare25(vyw460, vyw480, new_esEs4(vyw460, vyw480, hd, he), hd, he)
new_lt21(vyw4610, vyw4810, app(ty_Maybe, bde)) → new_lt14(vyw4610, vyw4810, bde)
new_ltEs19(vyw4612, vyw4812, app(app(app(ty_@3, ge), gf), gg)) → new_ltEs8(vyw4612, vyw4812, ge, gf, gg)
new_lt5(vyw460, vyw480, ty_Integer) → new_lt13(vyw460, vyw480)
new_ltEs9(GT, GT) → True
new_compare31(vyw4600, vyw4800, ty_Char) → new_compare17(vyw4600, vyw4800)
new_compare25(vyw460, vyw480, False, hd, he) → new_compare12(vyw460, vyw480, new_ltEs6(vyw460, vyw480, hd, he), hd, he)
new_compare31(vyw4600, vyw4800, app(ty_Ratio, ddg)) → new_compare27(vyw4600, vyw4800, ddg)
new_esEs29(vyw500, vyw3000, app(app(app(ty_@3, dcf), dcg), dch)) → new_esEs5(vyw500, vyw3000, dcf, dcg, dch)
new_lt5(vyw460, vyw480, app(ty_[], baa)) → new_lt11(vyw460, vyw480, baa)
new_primCmpInt(Neg(Zero), Neg(Succ(vyw48000))) → new_primCmpNat0(Succ(vyw48000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw48000))) → GT
new_lt20(vyw4611, vyw4811, ty_Float) → new_lt16(vyw4611, vyw4811)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Double) → new_esEs13(vyw500, vyw3000)
new_lt20(vyw4611, vyw4811, ty_Char) → new_lt7(vyw4611, vyw4811)
new_sr0(vyw500, vyw3000) → new_primMulInt(vyw500, vyw3000)
new_compare23(vyw460, vyw480, True, bbc) → EQ
new_esEs24(vyw501, vyw3001, app(ty_[], cae)) → new_esEs10(vyw501, vyw3001, cae)
new_esEs9(False, True) → False
new_esEs9(True, False) → False
new_esEs23(vyw4610, vyw4810, app(ty_Ratio, bhe)) → new_esEs16(vyw4610, vyw4810, bhe)
new_ltEs13(Just(vyw4610), Just(vyw4810), app(ty_Maybe, bcb)) → new_ltEs13(vyw4610, vyw4810, bcb)
new_esEs22(vyw4611, vyw4811, app(ty_Ratio, bhf)) → new_esEs16(vyw4611, vyw4811, bhf)
new_compare8(vyw460, vyw480, bbc) → new_compare23(vyw460, vyw480, new_esEs6(vyw460, vyw480, bbc), bbc)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, app(app(ty_Either, cc), cd)) → new_ltEs6(vyw4610, vyw4810, cc, cd)
new_ltEs13(Just(vyw4610), Nothing, bha) → False
new_esEs19(vyw460, vyw480, app(ty_Ratio, bhc)) → new_esEs16(vyw460, vyw480, bhc)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCompAux1(vyw4600, vyw4800, vyw110, baa) → new_primCompAux0(vyw110, new_compare31(vyw4600, vyw4800, baa))
new_lt21(vyw4610, vyw4810, app(app(ty_Either, bcf), bcg)) → new_lt6(vyw4610, vyw4810, bcf, bcg)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, app(ty_Maybe, db)) → new_ltEs13(vyw4610, vyw4810, db)
new_esEs19(vyw460, vyw480, ty_Integer) → new_esEs8(vyw460, vyw480)
new_esEs4(Right(vyw500), Right(vyw3000), ced, ty_Double) → new_esEs13(vyw500, vyw3000)
new_compare24(@2(vyw460, vyw461), @2(vyw480, vyw481), False, bfd, bfe) → new_compare11(vyw460, vyw461, vyw480, vyw481, new_lt5(vyw460, vyw480, bfd), new_asAs(new_esEs19(vyw460, vyw480, bfd), new_ltEs5(vyw461, vyw481, bfe)), bfd, bfe)
new_asAs(False, vyw56) → False
new_ltEs11(True, True) → True
new_primMulInt(Pos(vyw5000), Neg(vyw30000)) → Neg(new_primMulNat0(vyw5000, vyw30000))
new_primMulInt(Neg(vyw5000), Pos(vyw30000)) → Neg(new_primMulNat0(vyw5000, vyw30000))
new_ltEs13(Just(vyw4610), Just(vyw4810), app(app(ty_@2, bcc), bcd)) → new_ltEs16(vyw4610, vyw4810, bcc, bcd)
new_primMulNat0(Zero, Succ(vyw300000)) → Zero
new_primMulNat0(Succ(vyw50000), Zero) → Zero
new_esEs27(vyw502, vyw3002, ty_Double) → new_esEs13(vyw502, vyw3002)
new_esEs24(vyw501, vyw3001, ty_Double) → new_esEs13(vyw501, vyw3001)
new_esEs11(vyw500, vyw3000, app(app(ty_Either, bgg), bgh)) → new_esEs4(vyw500, vyw3000, bgg, bgh)
new_esEs6(Just(vyw500), Just(vyw3000), app(ty_Maybe, cgd)) → new_esEs6(vyw500, vyw3000, cgd)
new_ltEs8(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), eh, dg, dh) → new_pePe(new_lt19(vyw4610, vyw4810, eh), new_asAs(new_esEs23(vyw4610, vyw4810, eh), new_pePe(new_lt20(vyw4611, vyw4811, dg), new_asAs(new_esEs22(vyw4611, vyw4811, dg), new_ltEs19(vyw4612, vyw4812, dh)))))
new_esEs23(vyw4610, vyw4810, ty_Ordering) → new_esEs12(vyw4610, vyw4810)
new_esEs28(vyw501, vyw3001, app(ty_[], dbc)) → new_esEs10(vyw501, vyw3001, dbc)
new_esEs22(vyw4611, vyw4811, app(ty_[], fg)) → new_esEs10(vyw4611, vyw4811, fg)
new_compare31(vyw4600, vyw4800, app(app(ty_@2, bba), bbb)) → new_compare9(vyw4600, vyw4800, bba, bbb)
new_esEs23(vyw4610, vyw4810, app(app(ty_@2, ef), eg)) → new_esEs7(vyw4610, vyw4810, ef, eg)
new_esEs29(vyw500, vyw3000, ty_Double) → new_esEs13(vyw500, vyw3000)
new_esEs8(Integer(vyw500), Integer(vyw3000)) → new_primEqInt(vyw500, vyw3000)
new_ltEs20(vyw4611, vyw4811, ty_Ordering) → new_ltEs9(vyw4611, vyw4811)
new_lt17(vyw460, vyw480, bfb, bfc) → new_esEs12(new_compare9(vyw460, vyw480, bfb, bfc), LT)
new_esEs23(vyw4610, vyw4810, app(ty_Maybe, ee)) → new_esEs6(vyw4610, vyw4810, ee)
new_esEs29(vyw500, vyw3000, app(ty_Ratio, ddd)) → new_esEs16(vyw500, vyw3000, ddd)
new_esEs28(vyw501, vyw3001, app(app(ty_Either, dcc), dcd)) → new_esEs4(vyw501, vyw3001, dcc, dcd)
new_esEs26(vyw4610, vyw4810, ty_@0) → new_esEs18(vyw4610, vyw4810)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(app(app(ty_@3, bc), bd), be), bb) → new_ltEs8(vyw4610, vyw4810, bc, bd, be)
new_lt20(vyw4611, vyw4811, app(ty_Maybe, fh)) → new_lt14(vyw4611, vyw4811, fh)
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Bool) → new_ltEs11(vyw4610, vyw4810)
new_lt20(vyw4611, vyw4811, app(ty_Ratio, bhf)) → new_lt18(vyw4611, vyw4811, bhf)
new_esEs25(vyw500, vyw3000, ty_@0) → new_esEs18(vyw500, vyw3000)
new_esEs26(vyw4610, vyw4810, ty_Integer) → new_esEs8(vyw4610, vyw4810)
new_esEs27(vyw502, vyw3002, app(ty_[], daa)) → new_esEs10(vyw502, vyw3002, daa)
new_ltEs9(GT, EQ) → False
new_ltEs19(vyw4612, vyw4812, ty_@0) → new_ltEs14(vyw4612, vyw4812)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Int) → new_esEs15(vyw500, vyw3000)
new_esEs9(False, False) → True
new_lt21(vyw4610, vyw4810, ty_@0) → new_lt15(vyw4610, vyw4810)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, app(app(ty_@2, dc), dd)) → new_ltEs16(vyw4610, vyw4810, dc, dd)
new_esEs14(Char(vyw500), Char(vyw3000)) → new_primEqNat0(vyw500, vyw3000)
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Double) → new_ltEs4(vyw4610, vyw4810)
new_esEs4(Left(vyw500), Left(vyw3000), ty_Ordering, cdb) → new_esEs12(vyw500, vyw3000)
new_esEs4(Left(vyw500), Left(vyw3000), app(app(ty_@2, cdg), cdh), cdb) → new_esEs7(vyw500, vyw3000, cdg, cdh)
new_ltEs5(vyw461, vyw481, app(ty_[], bce)) → new_ltEs10(vyw461, vyw481, bce)
new_esEs6(Just(vyw500), Just(vyw3000), app(ty_[], cfh)) → new_esEs10(vyw500, vyw3000, cfh)
new_lt19(vyw4610, vyw4810, ty_Integer) → new_lt13(vyw4610, vyw4810)
new_ltEs19(vyw4612, vyw4812, app(ty_Maybe, ha)) → new_ltEs13(vyw4612, vyw4812, ha)
new_esEs27(vyw502, vyw3002, ty_Int) → new_esEs15(vyw502, vyw3002)
new_esEs4(Right(vyw500), Right(vyw3000), ced, ty_@0) → new_esEs18(vyw500, vyw3000)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Char, bb) → new_ltEs7(vyw4610, vyw4810)
new_esEs27(vyw502, vyw3002, ty_Ordering) → new_esEs12(vyw502, vyw3002)
new_esEs25(vyw500, vyw3000, app(app(app(ty_@3, cbh), cca), ccb)) → new_esEs5(vyw500, vyw3000, cbh, cca, ccb)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_@0, bb) → new_ltEs14(vyw4610, vyw4810)
new_lt21(vyw4610, vyw4810, ty_Int) → new_lt4(vyw4610, vyw4810)
new_esEs4(Right(vyw500), Right(vyw3000), ced, ty_Int) → new_esEs15(vyw500, vyw3000)
new_lt20(vyw4611, vyw4811, ty_Bool) → new_lt12(vyw4611, vyw4811)
new_ltEs10(vyw461, vyw481, bce) → new_not(new_esEs12(new_compare1(vyw461, vyw481, bce), GT))
new_esEs4(Left(vyw500), Left(vyw3000), ty_Char, cdb) → new_esEs14(vyw500, vyw3000)
new_compare31(vyw4600, vyw4800, app(app(app(ty_@3, bad), bae), baf)) → new_compare14(vyw4600, vyw4800, bad, bae, baf)
new_esEs12(GT, GT) → True
new_esEs29(vyw500, vyw3000, app(ty_[], dce)) → new_esEs10(vyw500, vyw3000, dce)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, ty_Bool) → new_ltEs11(vyw4610, vyw4810)
new_esEs24(vyw501, vyw3001, ty_@0) → new_esEs18(vyw501, vyw3001)
new_compare31(vyw4600, vyw4800, app(ty_[], bag)) → new_compare1(vyw4600, vyw4800, bag)
new_esEs24(vyw501, vyw3001, ty_Bool) → new_esEs9(vyw501, vyw3001)
new_lt6(vyw460, vyw480, hd, he) → new_esEs12(new_compare26(vyw460, vyw480, hd, he), LT)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(ty_Maybe, bg), bb) → new_ltEs13(vyw4610, vyw4810, bg)
new_esEs29(vyw500, vyw3000, ty_Ordering) → new_esEs12(vyw500, vyw3000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs11(vyw500, vyw3000, ty_@0) → new_esEs18(vyw500, vyw3000)
new_ltEs19(vyw4612, vyw4812, app(app(ty_@2, hb), hc)) → new_ltEs16(vyw4612, vyw4812, hb, hc)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, ty_Ordering) → new_ltEs9(vyw4610, vyw4810)
new_ltEs5(vyw461, vyw481, app(app(app(ty_@3, eh), dg), dh)) → new_ltEs8(vyw461, vyw481, eh, dg, dh)
new_esEs26(vyw4610, vyw4810, app(app(ty_Either, bcf), bcg)) → new_esEs4(vyw4610, vyw4810, bcf, bcg)
new_lt7(vyw460, vyw480) → new_esEs12(new_compare17(vyw460, vyw480), LT)
new_ltEs13(Just(vyw4610), Just(vyw4810), app(ty_Ratio, cab)) → new_ltEs17(vyw4610, vyw4810, cab)
new_asAs(True, vyw56) → vyw56
new_esEs19(vyw460, vyw480, app(app(ty_Either, hd), he)) → new_esEs4(vyw460, vyw480, hd, he)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Float) → new_esEs17(vyw500, vyw3000)
new_primMulNat0(Succ(vyw50000), Succ(vyw300000)) → new_primPlusNat0(new_primMulNat0(vyw50000, Succ(vyw300000)), vyw300000)
new_esEs26(vyw4610, vyw4810, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs5(vyw4610, vyw4810, bda, bdb, bdc)
new_esEs11(vyw500, vyw3000, app(ty_[], bfg)) → new_esEs10(vyw500, vyw3000, bfg)
new_esEs4(Right(vyw500), Left(vyw3000), ced, cdb) → False
new_esEs4(Left(vyw500), Right(vyw3000), ced, cdb) → False
new_esEs4(Left(vyw500), Left(vyw3000), app(ty_Maybe, cdf), cdb) → new_esEs6(vyw500, vyw3000, cdf)
new_compare1(:(vyw4600, vyw4601), [], baa) → GT
new_esEs11(vyw500, vyw3000, app(ty_Ratio, bgf)) → new_esEs16(vyw500, vyw3000, bgf)
new_esEs28(vyw501, vyw3001, ty_Integer) → new_esEs8(vyw501, vyw3001)
new_esEs18(@0, @0) → True
new_esEs4(Left(vyw500), Left(vyw3000), ty_Integer, cdb) → new_esEs8(vyw500, vyw3000)
new_compare211(vyw460, vyw480, True) → EQ
new_esEs29(vyw500, vyw3000, ty_Char) → new_esEs14(vyw500, vyw3000)
new_esEs19(vyw460, vyw480, ty_Int) → new_esEs15(vyw460, vyw480)
new_ltEs17(vyw461, vyw481, bhb) → new_not(new_esEs12(new_compare27(vyw461, vyw481, bhb), GT))
new_compare11(vyw90, vyw91, vyw92, vyw93, False, vyw95, bhh, caa) → new_compare18(vyw90, vyw91, vyw92, vyw93, vyw95, bhh, caa)
new_lt5(vyw460, vyw480, app(app(ty_@2, bfb), bfc)) → new_lt17(vyw460, vyw480, bfb, bfc)
new_esEs23(vyw4610, vyw4810, app(app(app(ty_@3, ea), eb), ec)) → new_esEs5(vyw4610, vyw4810, ea, eb, ec)
new_esEs24(vyw501, vyw3001, ty_Char) → new_esEs14(vyw501, vyw3001)
new_esEs29(vyw500, vyw3000, ty_Float) → new_esEs17(vyw500, vyw3000)
new_ltEs13(Just(vyw4610), Just(vyw4810), app(app(ty_Either, bbd), bbe)) → new_ltEs6(vyw4610, vyw4810, bbd, bbe)
new_esEs24(vyw501, vyw3001, app(ty_Maybe, cba)) → new_esEs6(vyw501, vyw3001, cba)
new_compare28(vyw460, vyw480, False) → new_compare110(vyw460, vyw480, new_ltEs11(vyw460, vyw480))
new_compare14(vyw460, vyw480, hf, hg, hh) → new_compare210(vyw460, vyw480, new_esEs5(vyw460, vyw480, hf, hg, hh), hf, hg, hh)
new_ltEs5(vyw461, vyw481, ty_Integer) → new_ltEs12(vyw461, vyw481)
new_lt19(vyw4610, vyw4810, app(app(ty_@2, ef), eg)) → new_lt17(vyw4610, vyw4810, ef, eg)
new_lt19(vyw4610, vyw4810, app(app(ty_Either, de), df)) → new_lt6(vyw4610, vyw4810, de, df)
new_esEs26(vyw4610, vyw4810, ty_Int) → new_esEs15(vyw4610, vyw4810)
new_lt13(vyw460, vyw480) → new_esEs12(new_compare19(vyw460, vyw480), LT)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Integer) → new_esEs8(vyw500, vyw3000)
new_ltEs20(vyw4611, vyw4811, app(app(ty_@2, beh), bfa)) → new_ltEs16(vyw4611, vyw4811, beh, bfa)
new_ltEs6(Right(vyw4610), Right(vyw4810), cb, ty_Double) → new_ltEs4(vyw4610, vyw4810)
new_ltEs5(vyw461, vyw481, ty_Bool) → new_ltEs11(vyw461, vyw481)
new_lt20(vyw4611, vyw4811, ty_Double) → new_lt10(vyw4611, vyw4811)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCompAux0(vyw117, EQ) → vyw117
new_ltEs20(vyw4611, vyw4811, ty_Char) → new_ltEs7(vyw4611, vyw4811)
new_esEs4(Right(vyw500), Right(vyw3000), ced, ty_Float) → new_esEs17(vyw500, vyw3000)
new_ltEs19(vyw4612, vyw4812, app(app(ty_Either, gc), gd)) → new_ltEs6(vyw4612, vyw4812, gc, gd)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_ltEs19(vyw4612, vyw4812, ty_Bool) → new_ltEs11(vyw4612, vyw4812)
new_primCmpInt(Neg(Succ(vyw46000)), Pos(vyw4800)) → LT
new_ltEs13(Just(vyw4610), Just(vyw4810), app(app(app(ty_@3, bbf), bbg), bbh)) → new_ltEs8(vyw4610, vyw4810, bbf, bbg, bbh)
new_not(True) → False
new_compare16(vyw460, vyw480, False) → GT
new_esEs19(vyw460, vyw480, ty_Double) → new_esEs13(vyw460, vyw480)
new_compare1([], [], baa) → EQ

The set Q consists of the following terms:

new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Float)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs18(@0, @0)
new_ltEs5(x0, x1, ty_Int)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_compare29(x0, x1)
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Float)
new_esEs10([], [], x0)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_compare15(@0, @0)
new_lt10(x0, x1)
new_compare110(x0, x1, False)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_lt20(x0, x1, ty_Double)
new_compare31(x0, x1, ty_@0)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Double)
new_esEs24(x0, x1, ty_Integer)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs23(x0, x1, ty_Integer)
new_compare17(Char(x0), Char(x1))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_@0)
new_lt8(x0, x1, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt19(x0, x1, ty_Integer)
new_primCmpNat0(Succ(x0), Zero)
new_esEs29(x0, x1, ty_Bool)
new_esEs10([], :(x0, x1), x2)
new_lt5(x0, x1, ty_Float)
new_ltEs7(x0, x1)
new_ltEs6(Left(x0), Left(x1), ty_Float, x2)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs12(EQ, GT)
new_esEs12(GT, EQ)
new_ltEs6(Right(x0), Right(x1), x2, ty_Char)
new_ltEs19(x0, x1, ty_Int)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_sr(Integer(x0), Integer(x1))
new_ltEs19(x0, x1, ty_Float)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_lt15(x0, x1)
new_esEs12(GT, GT)
new_esEs6(Nothing, Just(x0), x1)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt19(x0, x1, ty_Double)
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Char)
new_compare26(x0, x1, x2, x3)
new_compare28(x0, x1, True)
new_esEs27(x0, x1, ty_Integer)
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_compare10(x0, x1, False, x2)
new_ltEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs14(x0, x1)
new_lt20(x0, x1, ty_Char)
new_primEqNat0(Succ(x0), Zero)
new_esEs23(x0, x1, ty_Bool)
new_esEs10(:(x0, x1), :(x2, x3), x4)
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs9(EQ, EQ)
new_lt19(x0, x1, ty_Bool)
new_compare9(x0, x1, x2, x3)
new_compare1([], [], x0)
new_compare23(x0, x1, True, x2)
new_esEs24(x0, x1, ty_Char)
new_esEs24(x0, x1, ty_Bool)
new_esEs15(x0, x1)
new_compare31(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_lt7(x0, x1)
new_esEs23(x0, x1, ty_Char)
new_lt21(x0, x1, app(ty_[], x2))
new_ltEs6(Left(x0), Left(x1), ty_@0, x2)
new_ltEs13(Nothing, Nothing, x0)
new_esEs24(x0, x1, ty_Ordering)
new_esEs16(:%(x0, x1), :%(x2, x3), x4)
new_esEs23(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_Char)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs9(True, True)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_@0)
new_ltEs6(Left(x0), Left(x1), ty_Char, x2)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, ty_Double)
new_esEs26(x0, x1, ty_Bool)
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, ty_Int)
new_esEs22(x0, x1, ty_Double)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_lt19(x0, x1, ty_Char)
new_esEs8(Integer(x0), Integer(x1))
new_compare111(x0, x1, True, x2, x3, x4)
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs29(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Integer)
new_compare14(x0, x1, x2, x3, x4)
new_esEs22(x0, x1, ty_Ordering)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs28(x0, x1, ty_Integer)
new_lt14(x0, x1, x2)
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_lt18(x0, x1, x2)
new_esEs19(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_ltEs18(x0, x1)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_compare1([], :(x0, x1), x2)
new_ltEs6(Left(x0), Left(x1), ty_Int, x2)
new_primCompAux0(x0, LT)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, ty_Char)
new_esEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Left(x0), Right(x1), x2, x3)
new_asAs(False, x0)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_primPlusNat0(Succ(x0), x1)
new_esEs25(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), ty_Float)
new_lt21(x0, x1, ty_Bool)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Int)
new_compare31(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Double)
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs27(x0, x1, ty_Bool)
new_esEs10(:(x0, x1), [], x2)
new_compare11(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs24(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Bool)
new_compare25(x0, x1, False, x2, x3)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs13(Just(x0), Nothing, x1)
new_lt21(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, ty_Ordering)
new_lt5(x0, x1, ty_Int)
new_ltEs9(GT, EQ)
new_ltEs9(EQ, GT)
new_esEs28(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs12(x0, x1)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_ltEs6(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs5(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, ty_Int)
new_esEs12(EQ, LT)
new_esEs12(LT, EQ)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_compare28(x0, x1, False)
new_lt5(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primPlusNat1(Zero, Zero)
new_esEs6(Just(x0), Just(x1), ty_Ordering)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_lt17(x0, x1, x2, x3)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_lt4(x0, x1)
new_ltEs6(Right(x0), Right(x1), x2, ty_Float)
new_esEs12(EQ, EQ)
new_lt20(x0, x1, ty_@0)
new_lt6(x0, x1, x2, x3)
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_@0)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_lt16(x0, x1)
new_ltEs19(x0, x1, ty_Bool)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, ty_Double)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Ordering)
new_compare110(x0, x1, True)
new_lt21(x0, x1, ty_Integer)
new_ltEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs27(x0, x1, ty_Int)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs12(GT, LT)
new_esEs12(LT, GT)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, ty_Double)
new_compare11(x0, x1, x2, x3, False, x4, x5, x6)
new_compare23(x0, x1, False, x2)
new_ltEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs6(Just(x0), Just(x1), ty_Integer)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Float)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Int)
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs9(EQ, LT)
new_ltEs9(LT, EQ)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Integer)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare13(Float(x0, x1), Float(x2, x3))
new_primMulNat0(Zero, Succ(x0))
new_esEs22(x0, x1, ty_Float)
new_lt20(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_ltEs8(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primCompAux0(x0, EQ)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs6(Just(x0), Just(x1), ty_@0)
new_esEs20(x0, x1, ty_Int)
new_ltEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs11(x0, x1, ty_@0)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs11(False, False)
new_compare10(x0, x1, True, x2)
new_esEs19(x0, x1, ty_Double)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_@0)
new_compare16(x0, x1, False)
new_esEs14(Char(x0), Char(x1))
new_lt12(x0, x1)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs24(x0, x1, ty_Double)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_compare16(x0, x1, True)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs11(x0, x1, ty_Ordering)
new_esEs23(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Succ(x0))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs25(x0, x1, ty_Integer)
new_primCompAux1(x0, x1, x2, x3)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_compare31(x0, x1, ty_Int)
new_esEs17(Float(x0, x1), Float(x2, x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs11(False, True)
new_ltEs11(True, False)
new_ltEs5(x0, x1, ty_Bool)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare210(x0, x1, False, x2, x3, x4)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, GT)
new_ltEs20(x0, x1, ty_Double)
new_compare12(x0, x1, False, x2, x3)
new_esEs29(x0, x1, ty_Ordering)
new_primCmpNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, ty_Integer)
new_ltEs6(Left(x0), Left(x1), ty_Integer, x2)
new_esEs26(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_esEs21(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_Bool)
new_esEs19(x0, x1, ty_Integer)
new_ltEs6(Left(x0), Right(x1), x2, x3)
new_ltEs6(Right(x0), Left(x1), x2, x3)
new_ltEs9(LT, LT)
new_esEs26(x0, x1, ty_Integer)
new_lt19(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Float)
new_compare211(x0, x1, True)
new_esEs25(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_Integer)
new_primPlusNat1(Zero, Succ(x0))
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare18(x0, x1, x2, x3, True, x4, x5)
new_compare19(Integer(x0), Integer(x1))
new_esEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs28(x0, x1, ty_Float)
new_compare24(x0, x1, True, x2, x3)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_ltEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs6(Right(x0), Right(x1), x2, ty_@0)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Zero)
new_esEs19(x0, x1, app(ty_[], x2))
new_ltEs17(x0, x1, x2)
new_compare31(x0, x1, ty_Ordering)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_primMulInt(Neg(x0), Neg(x1))
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Ordering)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_primCmpNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Ordering)
new_lt19(x0, x1, app(ty_Maybe, x2))
new_compare27(:%(x0, x1), :%(x2, x3), ty_Int)
new_lt20(x0, x1, ty_Float)
new_ltEs13(Nothing, Just(x0), x1)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs19(x0, x1, ty_Char)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Integer)
new_esEs9(False, False)
new_esEs24(x0, x1, ty_@0)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_lt21(x0, x1, ty_Char)
new_esEs6(Just(x0), Just(x1), ty_Char)
new_pePe(False, x0)
new_ltEs5(x0, x1, ty_Integer)
new_compare31(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs23(x0, x1, app(ty_[], x2))
new_esEs6(Just(x0), Nothing, x1)
new_ltEs20(x0, x1, ty_Integer)
new_ltEs6(Right(x0), Right(x1), x2, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs4(x0, x1)
new_compare24(@2(x0, x1), @2(x2, x3), False, x4, x5)
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Char)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare8(x0, x1, x2)
new_ltEs10(x0, x1, x2)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs9(GT, LT)
new_ltEs9(LT, GT)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Char)
new_asAs(True, x0)
new_compare12(x0, x1, True, x2, x3)
new_esEs29(x0, x1, ty_Float)
new_esEs13(Double(x0, x1), Double(x2, x3))
new_esEs19(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Char)
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_compare6(x0, x1)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_not(True)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(ty_[], x2))
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_ltEs6(Left(x0), Left(x1), ty_Double, x2)
new_compare31(x0, x1, ty_Bool)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Right(x0), Right(x1), x2, ty_Double)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare27(:%(x0, x1), :%(x2, x3), ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_lt19(x0, x1, ty_Float)
new_compare1(:(x0, x1), [], x2)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_ltEs5(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Double)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), ty_Double)
new_lt13(x0, x1)
new_compare25(x0, x1, True, x2, x3)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs26(x0, x1, ty_Float)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Int)
new_compare18(x0, x1, x2, x3, False, x4, x5)
new_esEs19(x0, x1, ty_Ordering)
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_lt19(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs6(Just(x0), Just(x1), ty_Bool)
new_ltEs20(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs23(x0, x1, ty_Float)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs11(x0, x1, ty_Integer)
new_esEs9(True, False)
new_esEs9(False, True)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_compare30(x0, x1)
new_ltEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_sr0(x0, x1)
new_compare31(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Double)
new_compare7(Double(x0, x1), Double(x2, x3))
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs19(x0, x1, ty_Char)
new_ltEs9(GT, GT)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, ty_Float)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_esEs6(Just(x0), Just(x1), ty_Int)
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_Ordering)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Char)
new_lt5(x0, x1, ty_@0)
new_primMulNat0(Succ(x0), Zero)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs15(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs19(x0, x1, ty_Float)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_lt9(x0, x1)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, ty_Int)
new_compare1(:(x0, x1), :(x2, x3), x4)
new_compare211(x0, x1, False)
new_lt11(x0, x1, x2)
new_esEs12(LT, LT)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs11(True, True)
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt21(x0, x1, ty_@0)
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs23(x0, x1, ty_Int)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs23(x0, x1, ty_Double)
new_primPlusNat0(Zero, x0)
new_esEs6(Nothing, Nothing, x0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_lookupWithDefaultFM01(vyw4, Branch(@2(vyw300, vyw301), vyw31, vyw32, vyw33, vyw34), @2(vyw50, vyw51), bc, bd, be) → new_lookupWithDefaultFM0(vyw4, vyw300, vyw301, vyw31, vyw32, vyw33, vyw34, vyw50, vyw51, new_esEs30(vyw50, vyw51, vyw300, vyw301, new_esEs31(vyw50, vyw300, bd), bd, be), bc, bd, be)
new_lookupWithDefaultFM0(vyw17, vyw18, vyw19, vyw20, vyw21, vyw22, vyw23, vyw24, vyw25, True, h, ba, bb) → new_lookupWithDefaultFM01(vyw17, vyw22, @2(vyw24, vyw25), h, ba, bb)
new_lookupWithDefaultFM00(vyw17, vyw18, vyw19, vyw20, vyw21, vyw22, vyw23, vyw24, vyw25, True, h, ba, bb) → new_lookupWithDefaultFM01(vyw17, vyw23, @2(vyw24, vyw25), h, ba, bb)
new_lookupWithDefaultFM0(vyw17, vyw18, vyw19, vyw20, vyw21, vyw22, vyw23, vyw24, vyw25, False, h, ba, bb) → new_lookupWithDefaultFM00(vyw17, vyw18, vyw19, vyw20, vyw21, vyw22, vyw23, vyw24, vyw25, new_esEs12(new_compare24(@2(vyw24, vyw25), @2(vyw18, vyw19), new_esEs7(@2(vyw24, vyw25), @2(vyw18, vyw19), ba, bb), ba, bb), GT), h, ba, bb)

The TRS R consists of the following rules:

new_lt5(vyw460, vyw480, ty_Float) → new_lt16(vyw460, vyw480)
new_esEs26(vyw4610, vyw4810, ty_Char) → new_esEs14(vyw4610, vyw4810)
new_esEs32(vyw35, vyw37, ty_Float) → new_esEs17(vyw35, vyw37)
new_compare17(Char(vyw4600), Char(vyw4800)) → new_primCmpNat0(vyw4600, vyw4800)
new_compare18(vyw90, vyw91, vyw92, vyw93, True, bch, bda) → LT
new_lt19(vyw4610, vyw4810, ty_Char) → new_lt7(vyw4610, vyw4810)
new_compare18(vyw90, vyw91, vyw92, vyw93, False, bch, bda) → GT
new_esEs11(vyw500, vyw3000, ty_Int) → new_esEs15(vyw500, vyw3000)
new_compare31(vyw4600, vyw4800, ty_Int) → new_compare6(vyw4600, vyw4800)
new_ltEs5(vyw461, vyw481, ty_@0) → new_ltEs14(vyw461, vyw481)
new_compare1(:(vyw4600, vyw4601), :(vyw4800, vyw4801), fg) → new_primCompAux1(vyw4600, vyw4800, new_compare1(vyw4601, vyw4801, fg), fg)
new_esEs24(vyw501, vyw3001, app(app(app(ty_@3, bee), bef), beg)) → new_esEs5(vyw501, vyw3001, bee, bef, beg)
new_lt19(vyw4610, vyw4810, app(app(app(ty_@3, hd), he), hf)) → new_lt8(vyw4610, vyw4810, hd, he, hf)
new_ltEs20(vyw4611, vyw4811, app(ty_[], cha)) → new_ltEs10(vyw4611, vyw4811, cha)
new_lt20(vyw4611, vyw4811, app(app(app(ty_@3, baf), bag), bah)) → new_lt8(vyw4611, vyw4811, baf, bag, bah)
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_@0) → new_ltEs14(vyw4610, vyw4810)
new_esEs31(vyw50, vyw300, app(app(app(ty_@3, gb), gc), gd)) → new_esEs5(vyw50, vyw300, gb, gc, gd)
new_compare210(vyw460, vyw480, False, fc, fd, ff) → new_compare111(vyw460, vyw480, new_ltEs8(vyw460, vyw480, fc, fd, ff), fc, fd, ff)
new_esEs23(vyw4610, vyw4810, ty_Float) → new_esEs17(vyw4610, vyw4810)
new_lt19(vyw4610, vyw4810, ty_Int) → new_lt4(vyw4610, vyw4810)
new_esEs26(vyw4610, vyw4810, ty_Float) → new_esEs17(vyw4610, vyw4810)
new_esEs11(vyw500, vyw3000, app(app(ty_@2, ce), cf)) → new_esEs7(vyw500, vyw3000, ce, cf)
new_compare27(:%(vyw4600, vyw4601), :%(vyw4800, vyw4801), ty_Integer) → new_compare19(new_sr(vyw4600, vyw4801), new_sr(vyw4800, vyw4601))
new_primMulNat0(Zero, Zero) → Zero
new_esEs27(vyw502, vyw3002, ty_Bool) → new_esEs9(vyw502, vyw3002)
new_lt10(vyw460, vyw480) → new_esEs12(new_compare7(vyw460, vyw480), LT)
new_sr(Integer(vyw46000), Integer(vyw48010)) → Integer(new_primMulInt(vyw46000, vyw48010))
new_ltEs9(GT, LT) → False
new_ltEs14(vyw461, vyw481) → new_not(new_esEs12(new_compare15(vyw461, vyw481), GT))
new_ltEs13(Nothing, Just(vyw4810), ee) → True
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Ordering) → new_ltEs9(vyw4610, vyw4810)
new_ltEs5(vyw461, vyw481, ty_Float) → new_ltEs15(vyw461, vyw481)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Bool, dh) → new_ltEs11(vyw4610, vyw4810)
new_ltEs20(vyw4611, vyw4811, app(ty_Maybe, chb)) → new_ltEs13(vyw4611, vyw4811, chb)
new_esEs28(vyw501, vyw3001, ty_Int) → new_esEs15(vyw501, vyw3001)
new_esEs29(vyw500, vyw3000, app(app(ty_Either, ddb), ddc)) → new_esEs4(vyw500, vyw3000, ddb, ddc)
new_esEs24(vyw501, vyw3001, ty_Integer) → new_esEs8(vyw501, vyw3001)
new_compare1([], :(vyw4800, vyw4801), fg) → LT
new_ltEs5(vyw461, vyw481, ty_Ordering) → new_ltEs9(vyw461, vyw481)
new_esEs23(vyw4610, vyw4810, ty_Bool) → new_esEs9(vyw4610, vyw4810)
new_esEs12(GT, LT) → False
new_esEs12(LT, GT) → False
new_esEs4(Right(vyw500), Right(vyw3000), gh, ty_Ordering) → new_esEs12(vyw500, vyw3000)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Integer, dh) → new_ltEs12(vyw4610, vyw4810)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(app(ty_Either, ccf), ccg), dh) → new_ltEs6(vyw4610, vyw4810, ccf, ccg)
new_esEs26(vyw4610, vyw4810, app(ty_[], cfg)) → new_esEs10(vyw4610, vyw4810, cfg)
new_esEs21(vyw500, vyw3000, ty_Int) → new_esEs15(vyw500, vyw3000)
new_ltEs5(vyw461, vyw481, app(app(ty_Either, dg), dh)) → new_ltEs6(vyw461, vyw481, dg, dh)
new_esEs30(vyw34, vyw35, vyw36, vyw37, False, def, deg) → new_esEs12(new_compare24(@2(vyw34, vyw35), @2(vyw36, vyw37), False, def, deg), LT)
new_esEs31(vyw50, vyw300, ty_Integer) → new_esEs8(vyw50, vyw300)
new_esEs22(vyw4611, vyw4811, app(ty_Maybe, bbb)) → new_esEs6(vyw4611, vyw4811, bbb)
new_esEs27(vyw502, vyw3002, app(ty_Maybe, dab)) → new_esEs6(vyw502, vyw3002, dab)
new_esEs6(Just(vyw500), Just(vyw3000), app(app(ty_@2, cca), ccb)) → new_esEs7(vyw500, vyw3000, cca, ccb)
new_esEs23(vyw4610, vyw4810, ty_Double) → new_esEs13(vyw4610, vyw4810)
new_ltEs9(EQ, GT) → True
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, ty_@0) → new_ltEs14(vyw4610, vyw4810)
new_esEs29(vyw500, vyw3000, ty_Bool) → new_esEs9(vyw500, vyw3000)
new_esEs19(vyw460, vyw480, app(app(app(ty_@3, fc), fd), ff)) → new_esEs5(vyw460, vyw480, fc, fd, ff)
new_lt21(vyw4610, vyw4810, ty_Char) → new_lt7(vyw4610, vyw4810)
new_esEs28(vyw501, vyw3001, app(app(app(ty_@3, dba), dbb), dbc)) → new_esEs5(vyw501, vyw3001, dba, dbb, dbc)
new_esEs28(vyw501, vyw3001, ty_Bool) → new_esEs9(vyw501, vyw3001)
new_ltEs9(LT, EQ) → True
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Char) → new_ltEs7(vyw4610, vyw4810)
new_esEs22(vyw4611, vyw4811, ty_Ordering) → new_esEs12(vyw4611, vyw4811)
new_esEs25(vyw500, vyw3000, app(ty_[], bff)) → new_esEs10(vyw500, vyw3000, bff)
new_pePe(False, vyw109) → vyw109
new_esEs19(vyw460, vyw480, app(ty_[], fg)) → new_esEs10(vyw460, vyw480, fg)
new_esEs25(vyw500, vyw3000, app(app(ty_@2, bgc), bgd)) → new_esEs7(vyw500, vyw3000, bgc, bgd)
new_esEs25(vyw500, vyw3000, app(app(ty_Either, bgf), bgg)) → new_esEs4(vyw500, vyw3000, bgf, bgg)
new_esEs31(vyw50, vyw300, ty_Bool) → new_esEs9(vyw50, vyw300)
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, ty_Int) → new_ltEs18(vyw4610, vyw4810)
new_lt19(vyw4610, vyw4810, ty_Double) → new_lt10(vyw4610, vyw4810)
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, app(ty_[], cee)) → new_ltEs10(vyw4610, vyw4810, cee)
new_esEs22(vyw4611, vyw4811, app(app(ty_Either, bad), bae)) → new_esEs4(vyw4611, vyw4811, bad, bae)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(ty_[], cdc), dh) → new_ltEs10(vyw4610, vyw4810, cdc)
new_esEs4(Right(vyw500), Right(vyw3000), gh, app(ty_Maybe, caf)) → new_esEs6(vyw500, vyw3000, caf)
new_lt21(vyw4610, vyw4810, app(ty_[], cfg)) → new_lt11(vyw4610, vyw4810, cfg)
new_esEs15(vyw50, vyw300) → new_primEqInt(vyw50, vyw300)
new_lt19(vyw4610, vyw4810, ty_Ordering) → new_lt9(vyw4610, vyw4810)
new_esEs4(Right(vyw500), Right(vyw3000), gh, app(ty_Ratio, cba)) → new_esEs16(vyw500, vyw3000, cba)
new_esEs31(vyw50, vyw300, ty_Float) → new_esEs17(vyw50, vyw300)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Float, dh) → new_ltEs15(vyw4610, vyw4810)
new_esEs27(vyw502, vyw3002, ty_Float) → new_esEs17(vyw502, vyw3002)
new_compare31(vyw4600, vyw4800, ty_Bool) → new_compare29(vyw4600, vyw4800)
new_lt21(vyw4610, vyw4810, app(ty_Ratio, cgc)) → new_lt18(vyw4610, vyw4810, cgc)
new_esEs19(vyw460, vyw480, app(ty_Maybe, bf)) → new_esEs6(vyw460, vyw480, bf)
new_esEs11(vyw500, vyw3000, ty_Char) → new_esEs14(vyw500, vyw3000)
new_compare29(vyw460, vyw480) → new_compare28(vyw460, vyw480, new_esEs9(vyw460, vyw480))
new_lt20(vyw4611, vyw4811, app(app(ty_@2, bbc), bbd)) → new_lt17(vyw4611, vyw4811, bbc, bbd)
new_lt5(vyw460, vyw480, ty_Ordering) → new_lt9(vyw460, vyw480)
new_lt19(vyw4610, vyw4810, app(ty_Maybe, hh)) → new_lt14(vyw4610, vyw4810, hh)
new_esEs5(@3(vyw500, vyw501, vyw502), @3(vyw3000, vyw3001, vyw3002), gb, gc, gd) → new_asAs(new_esEs29(vyw500, vyw3000, gb), new_asAs(new_esEs28(vyw501, vyw3001, gc), new_esEs27(vyw502, vyw3002, gd)))
new_esEs4(Left(vyw500), Left(vyw3000), app(ty_Ratio, bhg), ha) → new_esEs16(vyw500, vyw3000, bhg)
new_ltEs9(EQ, EQ) → True
new_compare15(@0, @0) → EQ
new_ltEs20(vyw4611, vyw4811, ty_Integer) → new_ltEs12(vyw4611, vyw4811)
new_esEs31(vyw50, vyw300, ty_Double) → new_esEs13(vyw50, vyw300)
new_ltEs11(False, True) → True
new_lt5(vyw460, vyw480, app(app(ty_Either, fa), fb)) → new_lt6(vyw460, vyw480, fa, fb)
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, ty_Integer) → new_ltEs12(vyw4610, vyw4810)
new_esEs13(Double(vyw500, vyw501), Double(vyw3000, vyw3001)) → new_esEs15(new_sr0(vyw500, vyw3000), new_sr0(vyw501, vyw3001))
new_esEs28(vyw501, vyw3001, app(ty_Ratio, dbg)) → new_esEs16(vyw501, vyw3001, dbg)
new_esEs22(vyw4611, vyw4811, ty_Bool) → new_esEs9(vyw4611, vyw4811)
new_compare10(vyw460, vyw480, True, bf) → LT
new_compare211(vyw460, vyw480, False) → new_compare16(vyw460, vyw480, new_ltEs9(vyw460, vyw480))
new_lt21(vyw4610, vyw4810, ty_Double) → new_lt10(vyw4610, vyw4810)
new_ltEs13(Just(vyw4610), Just(vyw4810), app(ty_[], bdg)) → new_ltEs10(vyw4610, vyw4810, bdg)
new_esEs6(Just(vyw500), Just(vyw3000), app(app(app(ty_@3, cbe), cbf), cbg)) → new_esEs5(vyw500, vyw3000, cbe, cbf, cbg)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Ordering, dh) → new_ltEs9(vyw4610, vyw4810)
new_ltEs5(vyw461, vyw481, app(ty_Maybe, ee)) → new_ltEs13(vyw461, vyw481, ee)
new_primCmpNat0(Zero, Succ(vyw48000)) → LT
new_ltEs13(Nothing, Nothing, ee) → True
new_esEs23(vyw4610, vyw4810, ty_Integer) → new_esEs8(vyw4610, vyw4810)
new_ltEs19(vyw4612, vyw4812, ty_Float) → new_ltEs15(vyw4612, vyw4812)
new_esEs4(Right(vyw500), Right(vyw3000), gh, app(app(ty_@2, cag), cah)) → new_esEs7(vyw500, vyw3000, cag, cah)
new_esEs25(vyw500, vyw3000, ty_Bool) → new_esEs9(vyw500, vyw3000)
new_esEs30(vyw34, vyw35, vyw36, vyw37, True, def, deg) → new_esEs12(new_compare24(@2(vyw34, vyw35), @2(vyw36, vyw37), new_esEs32(vyw35, vyw37, deg), def, deg), LT)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Ordering) → new_esEs12(vyw500, vyw3000)
new_esEs31(vyw50, vyw300, ty_Int) → new_esEs15(vyw50, vyw300)
new_esEs28(vyw501, vyw3001, ty_Char) → new_esEs14(vyw501, vyw3001)
new_esEs19(vyw460, vyw480, ty_Float) → new_esEs17(vyw460, vyw480)
new_lt20(vyw4611, vyw4811, ty_@0) → new_lt15(vyw4611, vyw4811)
new_compare11(vyw90, vyw91, vyw92, vyw93, True, vyw95, bch, bda) → new_compare18(vyw90, vyw91, vyw92, vyw93, True, bch, bda)
new_lt21(vyw4610, vyw4810, app(app(ty_@2, cga), cgb)) → new_lt17(vyw4610, vyw4810, cga, cgb)
new_esEs25(vyw500, vyw3000, ty_Char) → new_esEs14(vyw500, vyw3000)
new_lt19(vyw4610, vyw4810, ty_@0) → new_lt15(vyw4610, vyw4810)
new_esEs6(Just(vyw500), Just(vyw3000), ty_@0) → new_esEs18(vyw500, vyw3000)
new_esEs11(vyw500, vyw3000, ty_Integer) → new_esEs8(vyw500, vyw3000)
new_esEs29(vyw500, vyw3000, app(app(ty_@2, dcg), dch)) → new_esEs7(vyw500, vyw3000, dcg, dch)
new_esEs12(LT, LT) → True
new_esEs4(Right(vyw500), Right(vyw3000), gh, ty_Char) → new_esEs14(vyw500, vyw3000)
new_compare10(vyw460, vyw480, False, bf) → GT
new_esEs28(vyw501, vyw3001, ty_Float) → new_esEs17(vyw501, vyw3001)
new_pePe(True, vyw109) → True
new_primEqNat0(Zero, Zero) → True
new_esEs27(vyw502, vyw3002, ty_@0) → new_esEs18(vyw502, vyw3002)
new_esEs19(vyw460, vyw480, ty_Char) → new_esEs14(vyw460, vyw480)
new_ltEs16(@2(vyw4610, vyw4611), @2(vyw4810, vyw4811), ef, eg) → new_pePe(new_lt21(vyw4610, vyw4810, ef), new_asAs(new_esEs26(vyw4610, vyw4810, ef), new_ltEs20(vyw4611, vyw4811, eg)))
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Int) → new_ltEs18(vyw4610, vyw4810)
new_esEs29(vyw500, vyw3000, app(ty_Maybe, dcf)) → new_esEs6(vyw500, vyw3000, dcf)
new_ltEs5(vyw461, vyw481, ty_Int) → new_ltEs18(vyw461, vyw481)
new_esEs4(Right(vyw500), Right(vyw3000), gh, app(ty_[], cab)) → new_esEs10(vyw500, vyw3000, cab)
new_esEs26(vyw4610, vyw4810, app(ty_Maybe, cfh)) → new_esEs6(vyw4610, vyw4810, cfh)
new_compare31(vyw4600, vyw4800, app(app(ty_Either, ddd), dde)) → new_compare26(vyw4600, vyw4800, ddd, dde)
new_compare31(vyw4600, vyw4800, ty_Integer) → new_compare19(vyw4600, vyw4800)
new_esEs25(vyw500, vyw3000, ty_Integer) → new_esEs8(vyw500, vyw3000)
new_esEs4(Left(vyw500), Left(vyw3000), app(ty_[], bgh), ha) → new_esEs10(vyw500, vyw3000, bgh)
new_esEs22(vyw4611, vyw4811, app(app(ty_@2, bbc), bbd)) → new_esEs7(vyw4611, vyw4811, bbc, bbd)
new_esEs23(vyw4610, vyw4810, ty_Char) → new_esEs14(vyw4610, vyw4810)
new_esEs25(vyw500, vyw3000, ty_Int) → new_esEs15(vyw500, vyw3000)
new_esEs31(vyw50, vyw300, app(ty_[], bg)) → new_esEs10(vyw50, vyw300, bg)
new_ltEs9(EQ, LT) → False
new_compare12(vyw460, vyw480, False, fa, fb) → GT
new_esEs17(Float(vyw500, vyw501), Float(vyw3000, vyw3001)) → new_esEs15(new_sr0(vyw500, vyw3000), new_sr0(vyw501, vyw3001))
new_esEs32(vyw35, vyw37, ty_Bool) → new_esEs9(vyw35, vyw37)
new_esEs32(vyw35, vyw37, app(app(ty_@2, dfe), dff)) → new_esEs7(vyw35, vyw37, dfe, dff)
new_ltEs5(vyw461, vyw481, ty_Char) → new_ltEs7(vyw461, vyw481)
new_esEs32(vyw35, vyw37, ty_Integer) → new_esEs8(vyw35, vyw37)
new_esEs11(vyw500, vyw3000, ty_Double) → new_esEs13(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(app(ty_@2, bfa), bfb)) → new_esEs7(vyw501, vyw3001, bfa, bfb)
new_ltEs18(vyw461, vyw481) → new_not(new_esEs12(new_compare6(vyw461, vyw481), GT))
new_lt14(vyw460, vyw480, bf) → new_esEs12(new_compare8(vyw460, vyw480, bf), LT)
new_esEs11(vyw500, vyw3000, ty_Ordering) → new_esEs12(vyw500, vyw3000)
new_primPlusNat0(Succ(vyw810), vyw300000) → Succ(Succ(new_primPlusNat1(vyw810, vyw300000)))
new_ltEs20(vyw4611, vyw4811, app(app(ty_Either, cgd), cge)) → new_ltEs6(vyw4611, vyw4811, cgd, cge)
new_esEs27(vyw502, vyw3002, ty_Integer) → new_esEs8(vyw502, vyw3002)
new_esEs26(vyw4610, vyw4810, ty_Bool) → new_esEs9(vyw4610, vyw4810)
new_esEs25(vyw500, vyw3000, ty_Ordering) → new_esEs12(vyw500, vyw3000)
new_esEs4(Right(vyw500), Right(vyw3000), gh, app(app(ty_Either, cbb), cbc)) → new_esEs4(vyw500, vyw3000, cbb, cbc)
new_esEs22(vyw4611, vyw4811, ty_Char) → new_esEs14(vyw4611, vyw4811)
new_lt20(vyw4611, vyw4811, ty_Ordering) → new_lt9(vyw4611, vyw4811)
new_primEqInt(Neg(Succ(vyw5000)), Neg(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_ltEs15(vyw461, vyw481) → new_not(new_esEs12(new_compare13(vyw461, vyw481), GT))
new_esEs4(Right(vyw500), Right(vyw3000), gh, ty_Bool) → new_esEs9(vyw500, vyw3000)
new_esEs23(vyw4610, vyw4810, ty_Int) → new_esEs15(vyw4610, vyw4810)
new_compare7(Double(vyw4600, vyw4601), Double(vyw4800, vyw4801)) → new_compare6(new_sr0(vyw4600, vyw4800), new_sr0(vyw4601, vyw4801))
new_lt9(vyw460, vyw480) → new_esEs12(new_compare30(vyw460, vyw480), LT)
new_esEs31(vyw50, vyw300, app(app(ty_Either, gh), ha)) → new_esEs4(vyw50, vyw300, gh, ha)
new_esEs4(Left(vyw500), Left(vyw3000), app(app(ty_Either, bhh), caa), ha) → new_esEs4(vyw500, vyw3000, bhh, caa)
new_esEs4(Left(vyw500), Left(vyw3000), app(app(app(ty_@3, bha), bhb), bhc), ha) → new_esEs5(vyw500, vyw3000, bha, bhb, bhc)
new_primPlusNat1(Succ(vyw8100), Zero) → Succ(vyw8100)
new_primPlusNat1(Zero, Succ(vyw3000000)) → Succ(vyw3000000)
new_ltEs19(vyw4612, vyw4812, app(ty_Ratio, bcg)) → new_ltEs17(vyw4612, vyw4812, bcg)
new_esEs22(vyw4611, vyw4811, ty_Int) → new_esEs15(vyw4611, vyw4811)
new_lt18(vyw460, vyw480, fh) → new_esEs12(new_compare27(vyw460, vyw480, fh), LT)
new_lt4(vyw460, vyw480) → new_esEs12(new_compare6(vyw460, vyw480), LT)
new_lt20(vyw4611, vyw4811, ty_Int) → new_lt4(vyw4611, vyw4811)
new_esEs20(vyw501, vyw3001, ty_Int) → new_esEs15(vyw501, vyw3001)
new_esEs4(Left(vyw500), Left(vyw3000), ty_Double, ha) → new_esEs13(vyw500, vyw3000)
new_esEs31(vyw50, vyw300, ty_Char) → new_esEs14(vyw50, vyw300)
new_esEs12(EQ, LT) → False
new_esEs12(LT, EQ) → False
new_compare16(vyw460, vyw480, True) → LT
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_compare31(vyw4600, vyw4800, ty_@0) → new_compare15(vyw4600, vyw4800)
new_ltEs20(vyw4611, vyw4811, ty_Bool) → new_ltEs11(vyw4611, vyw4811)
new_esEs22(vyw4611, vyw4811, ty_@0) → new_esEs18(vyw4611, vyw4811)
new_esEs29(vyw500, vyw3000, ty_Integer) → new_esEs8(vyw500, vyw3000)
new_esEs28(vyw501, vyw3001, ty_Double) → new_esEs13(vyw501, vyw3001)
new_esEs32(vyw35, vyw37, app(app(app(ty_@3, dfa), dfb), dfc)) → new_esEs5(vyw35, vyw37, dfa, dfb, dfc)
new_esEs11(vyw500, vyw3000, app(app(app(ty_@3, ca), cb), cc)) → new_esEs5(vyw500, vyw3000, ca, cb, cc)
new_ltEs20(vyw4611, vyw4811, app(ty_Ratio, che)) → new_ltEs17(vyw4611, vyw4811, che)
new_compare23(vyw460, vyw480, False, bf) → new_compare10(vyw460, vyw480, new_ltEs13(vyw460, vyw480, bf), bf)
new_lt5(vyw460, vyw480, ty_Int) → new_lt4(vyw460, vyw480)
new_primEqInt(Neg(Zero), Neg(Succ(vyw30000))) → False
new_primEqInt(Neg(Succ(vyw5000)), Neg(Zero)) → False
new_esEs22(vyw4611, vyw4811, ty_Integer) → new_esEs8(vyw4611, vyw4811)
new_primCompAux0(vyw117, GT) → GT
new_compare31(vyw4600, vyw4800, ty_Ordering) → new_compare30(vyw4600, vyw4800)
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, ty_Char) → new_ltEs7(vyw4610, vyw4810)
new_esEs32(vyw35, vyw37, app(ty_[], deh)) → new_esEs10(vyw35, vyw37, deh)
new_ltEs12(vyw461, vyw481) → new_not(new_esEs12(new_compare19(vyw461, vyw481), GT))
new_esEs4(Left(vyw500), Left(vyw3000), ty_Float, ha) → new_esEs17(vyw500, vyw3000)
new_ltEs7(vyw461, vyw481) → new_not(new_esEs12(new_compare17(vyw461, vyw481), GT))
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, ty_Float) → new_ltEs15(vyw4610, vyw4810)
new_compare9(vyw460, vyw480, dc, dd) → new_compare24(vyw460, vyw480, new_esEs7(vyw460, vyw480, dc, dd), dc, dd)
new_lt5(vyw460, vyw480, app(app(app(ty_@3, fc), fd), ff)) → new_lt8(vyw460, vyw480, fc, fd, ff)
new_compare24(vyw46, vyw48, True, de, df) → EQ
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, app(ty_Ratio, cfa)) → new_ltEs17(vyw4610, vyw4810, cfa)
new_ltEs9(LT, LT) → True
new_esEs22(vyw4611, vyw4811, app(app(app(ty_@3, baf), bag), bah)) → new_esEs5(vyw4611, vyw4811, baf, bag, bah)
new_lt21(vyw4610, vyw4810, ty_Float) → new_lt16(vyw4610, vyw4810)
new_esEs6(Just(vyw500), Just(vyw3000), app(app(ty_Either, ccd), cce)) → new_esEs4(vyw500, vyw3000, ccd, cce)
new_ltEs5(vyw461, vyw481, app(ty_Ratio, eh)) → new_ltEs17(vyw461, vyw481, eh)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs28(vyw501, vyw3001, ty_@0) → new_esEs18(vyw501, vyw3001)
new_lt12(vyw460, vyw480) → new_esEs12(new_compare29(vyw460, vyw480), LT)
new_esEs10(:(vyw500, vyw501), [], bg) → False
new_esEs10([], :(vyw3000, vyw3001), bg) → False
new_compare6(vyw460, vyw480) → new_primCmpInt(vyw460, vyw480)
new_esEs21(vyw500, vyw3000, ty_Integer) → new_esEs8(vyw500, vyw3000)
new_esEs19(vyw460, vyw480, ty_Bool) → new_esEs9(vyw460, vyw480)
new_esEs28(vyw501, vyw3001, app(app(ty_@2, dbe), dbf)) → new_esEs7(vyw501, vyw3001, dbe, dbf)
new_lt11(vyw460, vyw480, fg) → new_esEs12(new_compare1(vyw460, vyw480, fg), LT)
new_lt20(vyw4611, vyw4811, ty_Integer) → new_lt13(vyw4611, vyw4811)
new_primCmpNat0(Succ(vyw46000), Succ(vyw48000)) → new_primCmpNat0(vyw46000, vyw48000)
new_esEs19(vyw460, vyw480, ty_@0) → new_esEs18(vyw460, vyw480)
new_lt21(vyw4610, vyw4810, app(app(app(ty_@3, cfd), cfe), cff)) → new_lt8(vyw4610, vyw4810, cfd, cfe, cff)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(ty_Ratio, cdg), dh) → new_ltEs17(vyw4610, vyw4810, cdg)
new_esEs6(Nothing, Nothing, ge) → True
new_esEs11(vyw500, vyw3000, ty_Bool) → new_esEs9(vyw500, vyw3000)
new_lt5(vyw460, vyw480, app(ty_Maybe, bf)) → new_lt14(vyw460, vyw480, bf)
new_primEqInt(Pos(Succ(vyw5000)), Pos(Succ(vyw30000))) → new_primEqNat0(vyw5000, vyw30000)
new_esEs11(vyw500, vyw3000, ty_Float) → new_esEs17(vyw500, vyw3000)
new_esEs24(vyw501, vyw3001, app(ty_Ratio, bfc)) → new_esEs16(vyw501, vyw3001, bfc)
new_compare12(vyw460, vyw480, True, fa, fb) → LT
new_ltEs11(True, False) → False
new_esEs10([], [], bg) → True
new_esEs6(Just(vyw500), Nothing, ge) → False
new_esEs6(Nothing, Just(vyw3000), ge) → False
new_primEqNat0(Succ(vyw5000), Succ(vyw30000)) → new_primEqNat0(vyw5000, vyw30000)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Double, dh) → new_ltEs4(vyw4610, vyw4810)
new_esEs26(vyw4610, vyw4810, ty_Ordering) → new_esEs12(vyw4610, vyw4810)
new_lt21(vyw4610, vyw4810, ty_Integer) → new_lt13(vyw4610, vyw4810)
new_lt5(vyw460, vyw480, ty_Bool) → new_lt12(vyw460, vyw480)
new_compare111(vyw460, vyw480, True, fc, fd, ff) → LT
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Integer) → new_ltEs12(vyw4610, vyw4810)
new_esEs4(Left(vyw500), Left(vyw3000), ty_Bool, ha) → new_esEs9(vyw500, vyw3000)
new_primCmpInt(Neg(Succ(vyw46000)), Neg(vyw4800)) → new_primCmpNat0(vyw4800, Succ(vyw46000))
new_esEs27(vyw502, vyw3002, app(app(app(ty_@3, chg), chh), daa)) → new_esEs5(vyw502, vyw3002, chg, chh, daa)
new_ltEs6(Left(vyw4610), Right(vyw4810), dg, dh) → True
new_lt16(vyw460, vyw480) → new_esEs12(new_compare13(vyw460, vyw480), LT)
new_esEs32(vyw35, vyw37, ty_Char) → new_esEs14(vyw35, vyw37)
new_esEs12(EQ, EQ) → True
new_ltEs6(Right(vyw4610), Left(vyw4810), dg, dh) → False
new_primEqInt(Pos(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Succ(vyw5000)), Pos(Zero)) → False
new_esEs25(vyw500, vyw3000, ty_Float) → new_esEs17(vyw500, vyw3000)
new_lt8(vyw460, vyw480, fc, fd, ff) → new_esEs12(new_compare14(vyw460, vyw480, fc, fd, ff), LT)
new_ltEs5(vyw461, vyw481, ty_Double) → new_ltEs4(vyw461, vyw481)
new_primCmpNat0(Zero, Zero) → EQ
new_esEs32(vyw35, vyw37, ty_@0) → new_esEs18(vyw35, vyw37)
new_esEs23(vyw4610, vyw4810, ty_@0) → new_esEs18(vyw4610, vyw4810)
new_primCmpNat0(Succ(vyw46000), Zero) → GT
new_esEs4(Right(vyw500), Right(vyw3000), gh, app(app(app(ty_@3, cac), cad), cae)) → new_esEs5(vyw500, vyw3000, cac, cad, cae)
new_ltEs19(vyw4612, vyw4812, ty_Ordering) → new_ltEs9(vyw4612, vyw4812)
new_esEs32(vyw35, vyw37, app(ty_Maybe, dfd)) → new_esEs6(vyw35, vyw37, dfd)
new_lt5(vyw460, vyw480, ty_Double) → new_lt10(vyw460, vyw480)
new_esEs31(vyw50, vyw300, app(ty_Ratio, ga)) → new_esEs16(vyw50, vyw300, ga)
new_primCmpInt(Neg(Zero), Pos(Succ(vyw48000))) → LT
new_ltEs20(vyw4611, vyw4811, ty_@0) → new_ltEs14(vyw4611, vyw4811)
new_compare210(vyw460, vyw480, True, fc, fd, ff) → EQ
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, app(app(app(ty_@3, ceb), cec), ced)) → new_ltEs8(vyw4610, vyw4810, ceb, cec, ced)
new_lt5(vyw460, vyw480, ty_Char) → new_lt7(vyw460, vyw480)
new_primPlusNat1(Succ(vyw8100), Succ(vyw3000000)) → Succ(Succ(new_primPlusNat1(vyw8100, vyw3000000)))
new_primEqInt(Neg(Succ(vyw5000)), Pos(vyw3000)) → False
new_primEqInt(Pos(Succ(vyw5000)), Neg(vyw3000)) → False
new_esEs26(vyw4610, vyw4810, ty_Double) → new_esEs13(vyw4610, vyw4810)
new_lt21(vyw4610, vyw4810, ty_Bool) → new_lt12(vyw4610, vyw4810)
new_compare13(Float(vyw4600, vyw4601), Float(vyw4800, vyw4801)) → new_compare6(new_sr0(vyw4600, vyw4800), new_sr0(vyw4601, vyw4801))
new_esEs6(Just(vyw500), Just(vyw3000), ty_Bool) → new_esEs9(vyw500, vyw3000)
new_lt5(vyw460, vyw480, app(ty_Ratio, fh)) → new_lt18(vyw460, vyw480, fh)
new_ltEs20(vyw4611, vyw4811, ty_Float) → new_ltEs15(vyw4611, vyw4811)
new_esEs26(vyw4610, vyw4810, app(ty_Ratio, cgc)) → new_esEs16(vyw4610, vyw4810, cgc)
new_esEs28(vyw501, vyw3001, app(ty_Maybe, dbd)) → new_esEs6(vyw501, vyw3001, dbd)
new_primEqInt(Neg(Zero), Pos(Succ(vyw30000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vyw30000))) → False
new_compare30(vyw460, vyw480) → new_compare211(vyw460, vyw480, new_esEs12(vyw460, vyw480))
new_esEs24(vyw501, vyw3001, ty_Ordering) → new_esEs12(vyw501, vyw3001)
new_ltEs5(vyw461, vyw481, app(app(ty_@2, ef), eg)) → new_ltEs16(vyw461, vyw481, ef, eg)
new_primCmpInt(Pos(Zero), Pos(Succ(vyw48000))) → new_primCmpNat0(Zero, Succ(vyw48000))
new_esEs4(Left(vyw500), Left(vyw3000), ty_Int, ha) → new_esEs15(vyw500, vyw3000)
new_esEs7(@2(vyw500, vyw501), @2(vyw3000, vyw3001), gf, gg) → new_asAs(new_esEs25(vyw500, vyw3000, gf), new_esEs24(vyw501, vyw3001, gg))
new_esEs27(vyw502, vyw3002, app(app(ty_@2, dac), dad)) → new_esEs7(vyw502, vyw3002, dac, dad)
new_ltEs20(vyw4611, vyw4811, ty_Double) → new_ltEs4(vyw4611, vyw4811)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Char) → new_esEs14(vyw500, vyw3000)
new_esEs28(vyw501, vyw3001, ty_Ordering) → new_esEs12(vyw501, vyw3001)
new_esEs27(vyw502, vyw3002, app(ty_Ratio, dae)) → new_esEs16(vyw502, vyw3002, dae)
new_esEs10(:(vyw500, vyw501), :(vyw3000, vyw3001), bg) → new_asAs(new_esEs11(vyw500, vyw3000, bg), new_esEs10(vyw501, vyw3001, bg))
new_primCompAux0(vyw117, LT) → LT
new_not(False) → True
new_lt20(vyw4611, vyw4811, app(ty_[], bba)) → new_lt11(vyw4611, vyw4811, bba)
new_ltEs19(vyw4612, vyw4812, ty_Double) → new_ltEs4(vyw4612, vyw4812)
new_esEs11(vyw500, vyw3000, app(ty_Maybe, cd)) → new_esEs6(vyw500, vyw3000, cd)
new_esEs29(vyw500, vyw3000, ty_@0) → new_esEs18(vyw500, vyw3000)
new_esEs4(Right(vyw500), Right(vyw3000), gh, ty_Integer) → new_esEs8(vyw500, vyw3000)
new_primCmpInt(Pos(Succ(vyw46000)), Pos(vyw4800)) → new_primCmpNat0(Succ(vyw46000), vyw4800)
new_primPlusNat0(Zero, vyw300000) → Succ(vyw300000)
new_esEs4(Left(vyw500), Left(vyw3000), ty_@0, ha) → new_esEs18(vyw500, vyw3000)
new_esEs12(GT, EQ) → False
new_esEs12(EQ, GT) → False
new_esEs19(vyw460, vyw480, app(app(ty_@2, dc), dd)) → new_esEs7(vyw460, vyw480, dc, dd)
new_ltEs19(vyw4612, vyw4812, app(ty_[], bcc)) → new_ltEs10(vyw4612, vyw4812, bcc)
new_esEs25(vyw500, vyw3000, ty_Double) → new_esEs13(vyw500, vyw3000)
new_compare31(vyw4600, vyw4800, ty_Double) → new_compare7(vyw4600, vyw4800)
new_ltEs9(LT, GT) → True
new_ltEs19(vyw4612, vyw4812, ty_Int) → new_ltEs18(vyw4612, vyw4812)
new_esEs25(vyw500, vyw3000, app(ty_Ratio, bge)) → new_esEs16(vyw500, vyw3000, bge)
new_lt20(vyw4611, vyw4811, app(app(ty_Either, bad), bae)) → new_lt6(vyw4611, vyw4811, bad, bae)
new_esEs24(vyw501, vyw3001, ty_Float) → new_esEs17(vyw501, vyw3001)
new_esEs23(vyw4610, vyw4810, app(ty_[], hg)) → new_esEs10(vyw4610, vyw4810, hg)
new_esEs6(Just(vyw500), Just(vyw3000), app(ty_Ratio, ccc)) → new_esEs16(vyw500, vyw3000, ccc)
new_ltEs11(False, False) → True
new_compare28(vyw460, vyw480, True) → EQ
new_esEs29(vyw500, vyw3000, ty_Int) → new_esEs15(vyw500, vyw3000)
new_lt19(vyw4610, vyw4810, app(ty_Ratio, bac)) → new_lt18(vyw4610, vyw4810, bac)
new_esEs9(True, True) → True
new_ltEs20(vyw4611, vyw4811, app(app(app(ty_@3, cgf), cgg), cgh)) → new_ltEs8(vyw4611, vyw4811, cgf, cgg, cgh)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Int, dh) → new_ltEs18(vyw4610, vyw4810)
new_esEs24(vyw501, vyw3001, ty_Int) → new_esEs15(vyw501, vyw3001)
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Float) → new_ltEs15(vyw4610, vyw4810)
new_esEs20(vyw501, vyw3001, ty_Integer) → new_esEs8(vyw501, vyw3001)
new_primCmpInt(Pos(Succ(vyw46000)), Neg(vyw4800)) → GT
new_ltEs19(vyw4612, vyw4812, ty_Integer) → new_ltEs12(vyw4612, vyw4812)
new_primMulInt(Pos(vyw5000), Pos(vyw30000)) → Pos(new_primMulNat0(vyw5000, vyw30000))
new_lt19(vyw4610, vyw4810, ty_Float) → new_lt16(vyw4610, vyw4810)
new_lt5(vyw460, vyw480, ty_@0) → new_lt15(vyw460, vyw480)
new_lt19(vyw4610, vyw4810, ty_Bool) → new_lt12(vyw4610, vyw4810)
new_compare19(Integer(vyw4600), Integer(vyw4800)) → new_primCmpInt(vyw4600, vyw4800)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(app(ty_@2, cde), cdf), dh) → new_ltEs16(vyw4610, vyw4810, cde, cdf)
new_compare27(:%(vyw4600, vyw4601), :%(vyw4800, vyw4801), ty_Int) → new_compare6(new_sr0(vyw4600, vyw4801), new_sr0(vyw4800, vyw4601))
new_esEs22(vyw4611, vyw4811, ty_Double) → new_esEs13(vyw4611, vyw4811)
new_esEs23(vyw4610, vyw4810, app(app(ty_Either, hb), hc)) → new_esEs4(vyw4610, vyw4810, hb, hc)
new_esEs19(vyw460, vyw480, ty_Ordering) → new_esEs12(vyw460, vyw480)
new_ltEs4(vyw461, vyw481) → new_not(new_esEs12(new_compare7(vyw461, vyw481), GT))
new_primMulInt(Neg(vyw5000), Neg(vyw30000)) → Pos(new_primMulNat0(vyw5000, vyw30000))
new_compare31(vyw4600, vyw4800, ty_Float) → new_compare13(vyw4600, vyw4800)
new_compare110(vyw460, vyw480, True) → LT
new_esEs16(:%(vyw500, vyw501), :%(vyw3000, vyw3001), ga) → new_asAs(new_esEs21(vyw500, vyw3000, ga), new_esEs20(vyw501, vyw3001, ga))
new_primEqNat0(Zero, Succ(vyw30000)) → False
new_primEqNat0(Succ(vyw5000), Zero) → False
new_ltEs20(vyw4611, vyw4811, ty_Int) → new_ltEs18(vyw4611, vyw4811)
new_esEs22(vyw4611, vyw4811, ty_Float) → new_esEs17(vyw4611, vyw4811)
new_esEs27(vyw502, vyw3002, ty_Char) → new_esEs14(vyw502, vyw3002)
new_esEs26(vyw4610, vyw4810, app(app(ty_@2, cga), cgb)) → new_esEs7(vyw4610, vyw4810, cga, cgb)
new_compare25(vyw460, vyw480, True, fa, fb) → EQ
new_esEs25(vyw500, vyw3000, app(ty_Maybe, bgb)) → new_esEs6(vyw500, vyw3000, bgb)
new_lt21(vyw4610, vyw4810, ty_Ordering) → new_lt9(vyw4610, vyw4810)
new_compare110(vyw460, vyw480, False) → GT
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs19(vyw4612, vyw4812, ty_Char) → new_ltEs7(vyw4612, vyw4812)
new_esEs24(vyw501, vyw3001, app(app(ty_Either, bfd), bfe)) → new_esEs4(vyw501, vyw3001, bfd, bfe)
new_lt19(vyw4610, vyw4810, app(ty_[], hg)) → new_lt11(vyw4610, vyw4810, hg)
new_lt15(vyw460, vyw480) → new_esEs12(new_compare15(vyw460, vyw480), LT)
new_esEs27(vyw502, vyw3002, app(app(ty_Either, daf), dag)) → new_esEs4(vyw502, vyw3002, daf, dag)
new_compare111(vyw460, vyw480, False, fc, fd, ff) → GT
new_compare31(vyw4600, vyw4800, app(ty_Maybe, deb)) → new_compare8(vyw4600, vyw4800, deb)
new_compare26(vyw460, vyw480, fa, fb) → new_compare25(vyw460, vyw480, new_esEs4(vyw460, vyw480, fa, fb), fa, fb)
new_lt21(vyw4610, vyw4810, app(ty_Maybe, cfh)) → new_lt14(vyw4610, vyw4810, cfh)
new_ltEs19(vyw4612, vyw4812, app(app(app(ty_@3, bbh), bca), bcb)) → new_ltEs8(vyw4612, vyw4812, bbh, bca, bcb)
new_lt5(vyw460, vyw480, ty_Integer) → new_lt13(vyw460, vyw480)
new_ltEs9(GT, GT) → True
new_compare31(vyw4600, vyw4800, ty_Char) → new_compare17(vyw4600, vyw4800)
new_compare25(vyw460, vyw480, False, fa, fb) → new_compare12(vyw460, vyw480, new_ltEs6(vyw460, vyw480, fa, fb), fa, fb)
new_compare31(vyw4600, vyw4800, app(ty_Ratio, dee)) → new_compare27(vyw4600, vyw4800, dee)
new_esEs29(vyw500, vyw3000, app(app(app(ty_@3, dcc), dcd), dce)) → new_esEs5(vyw500, vyw3000, dcc, dcd, dce)
new_lt5(vyw460, vyw480, app(ty_[], fg)) → new_lt11(vyw460, vyw480, fg)
new_primCmpInt(Neg(Zero), Neg(Succ(vyw48000))) → new_primCmpNat0(Succ(vyw48000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vyw48000))) → GT
new_esEs32(vyw35, vyw37, ty_Int) → new_esEs15(vyw35, vyw37)
new_lt20(vyw4611, vyw4811, ty_Float) → new_lt16(vyw4611, vyw4811)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Double) → new_esEs13(vyw500, vyw3000)
new_lt20(vyw4611, vyw4811, ty_Char) → new_lt7(vyw4611, vyw4811)
new_sr0(vyw500, vyw3000) → new_primMulInt(vyw500, vyw3000)
new_compare23(vyw460, vyw480, True, bf) → EQ
new_esEs24(vyw501, vyw3001, app(ty_[], bed)) → new_esEs10(vyw501, vyw3001, bed)
new_esEs9(False, True) → False
new_esEs9(True, False) → False
new_esEs23(vyw4610, vyw4810, app(ty_Ratio, bac)) → new_esEs16(vyw4610, vyw4810, bac)
new_ltEs13(Just(vyw4610), Just(vyw4810), app(ty_Maybe, bdh)) → new_ltEs13(vyw4610, vyw4810, bdh)
new_esEs22(vyw4611, vyw4811, app(ty_Ratio, bbe)) → new_esEs16(vyw4611, vyw4811, bbe)
new_compare8(vyw460, vyw480, bf) → new_compare23(vyw460, vyw480, new_esEs6(vyw460, vyw480, bf), bf)
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, app(app(ty_Either, cdh), cea)) → new_ltEs6(vyw4610, vyw4810, cdh, cea)
new_ltEs13(Just(vyw4610), Nothing, ee) → False
new_esEs19(vyw460, vyw480, app(ty_Ratio, fh)) → new_esEs16(vyw460, vyw480, fh)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCompAux1(vyw4600, vyw4800, vyw110, fg) → new_primCompAux0(vyw110, new_compare31(vyw4600, vyw4800, fg))
new_esEs32(vyw35, vyw37, ty_Double) → new_esEs13(vyw35, vyw37)
new_lt21(vyw4610, vyw4810, app(app(ty_Either, cfb), cfc)) → new_lt6(vyw4610, vyw4810, cfb, cfc)
new_esEs19(vyw460, vyw480, ty_Integer) → new_esEs8(vyw460, vyw480)
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, app(ty_Maybe, cef)) → new_ltEs13(vyw4610, vyw4810, cef)
new_esEs4(Right(vyw500), Right(vyw3000), gh, ty_Double) → new_esEs13(vyw500, vyw3000)
new_compare24(@2(vyw460, vyw461), @2(vyw480, vyw481), False, de, df) → new_compare11(vyw460, vyw461, vyw480, vyw481, new_lt5(vyw460, vyw480, de), new_asAs(new_esEs19(vyw460, vyw480, de), new_ltEs5(vyw461, vyw481, df)), de, df)
new_asAs(False, vyw56) → False
new_ltEs11(True, True) → True
new_primMulInt(Pos(vyw5000), Neg(vyw30000)) → Neg(new_primMulNat0(vyw5000, vyw30000))
new_primMulInt(Neg(vyw5000), Pos(vyw30000)) → Neg(new_primMulNat0(vyw5000, vyw30000))
new_ltEs13(Just(vyw4610), Just(vyw4810), app(app(ty_@2, bea), beb)) → new_ltEs16(vyw4610, vyw4810, bea, beb)
new_primMulNat0(Zero, Succ(vyw300000)) → Zero
new_primMulNat0(Succ(vyw50000), Zero) → Zero
new_esEs27(vyw502, vyw3002, ty_Double) → new_esEs13(vyw502, vyw3002)
new_esEs24(vyw501, vyw3001, ty_Double) → new_esEs13(vyw501, vyw3001)
new_esEs11(vyw500, vyw3000, app(app(ty_Either, da), db)) → new_esEs4(vyw500, vyw3000, da, db)
new_esEs6(Just(vyw500), Just(vyw3000), app(ty_Maybe, cbh)) → new_esEs6(vyw500, vyw3000, cbh)
new_esEs32(vyw35, vyw37, app(ty_Ratio, dfg)) → new_esEs16(vyw35, vyw37, dfg)
new_ltEs8(@3(vyw4610, vyw4611, vyw4612), @3(vyw4810, vyw4811, vyw4812), ea, eb, ec) → new_pePe(new_lt19(vyw4610, vyw4810, ea), new_asAs(new_esEs23(vyw4610, vyw4810, ea), new_pePe(new_lt20(vyw4611, vyw4811, eb), new_asAs(new_esEs22(vyw4611, vyw4811, eb), new_ltEs19(vyw4612, vyw4812, ec)))))
new_esEs23(vyw4610, vyw4810, ty_Ordering) → new_esEs12(vyw4610, vyw4810)
new_esEs28(vyw501, vyw3001, app(ty_[], dah)) → new_esEs10(vyw501, vyw3001, dah)
new_esEs22(vyw4611, vyw4811, app(ty_[], bba)) → new_esEs10(vyw4611, vyw4811, bba)
new_compare31(vyw4600, vyw4800, app(app(ty_@2, dec), ded)) → new_compare9(vyw4600, vyw4800, dec, ded)
new_esEs23(vyw4610, vyw4810, app(app(ty_@2, baa), bab)) → new_esEs7(vyw4610, vyw4810, baa, bab)
new_esEs29(vyw500, vyw3000, ty_Double) → new_esEs13(vyw500, vyw3000)
new_esEs8(Integer(vyw500), Integer(vyw3000)) → new_primEqInt(vyw500, vyw3000)
new_ltEs20(vyw4611, vyw4811, ty_Ordering) → new_ltEs9(vyw4611, vyw4811)
new_lt17(vyw460, vyw480, dc, dd) → new_esEs12(new_compare9(vyw460, vyw480, dc, dd), LT)
new_esEs23(vyw4610, vyw4810, app(ty_Maybe, hh)) → new_esEs6(vyw4610, vyw4810, hh)
new_esEs29(vyw500, vyw3000, app(ty_Ratio, dda)) → new_esEs16(vyw500, vyw3000, dda)
new_esEs28(vyw501, vyw3001, app(app(ty_Either, dbh), dca)) → new_esEs4(vyw501, vyw3001, dbh, dca)
new_esEs26(vyw4610, vyw4810, ty_@0) → new_esEs18(vyw4610, vyw4810)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(app(app(ty_@3, cch), cda), cdb), dh) → new_ltEs8(vyw4610, vyw4810, cch, cda, cdb)
new_lt20(vyw4611, vyw4811, app(ty_Maybe, bbb)) → new_lt14(vyw4611, vyw4811, bbb)
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Bool) → new_ltEs11(vyw4610, vyw4810)
new_lt20(vyw4611, vyw4811, app(ty_Ratio, bbe)) → new_lt18(vyw4611, vyw4811, bbe)
new_esEs25(vyw500, vyw3000, ty_@0) → new_esEs18(vyw500, vyw3000)
new_esEs26(vyw4610, vyw4810, ty_Integer) → new_esEs8(vyw4610, vyw4810)
new_esEs27(vyw502, vyw3002, app(ty_[], chf)) → new_esEs10(vyw502, vyw3002, chf)
new_ltEs9(GT, EQ) → False
new_ltEs19(vyw4612, vyw4812, ty_@0) → new_ltEs14(vyw4612, vyw4812)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Int) → new_esEs15(vyw500, vyw3000)
new_esEs9(False, False) → True
new_lt21(vyw4610, vyw4810, ty_@0) → new_lt15(vyw4610, vyw4810)
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, app(app(ty_@2, ceg), ceh)) → new_ltEs16(vyw4610, vyw4810, ceg, ceh)
new_esEs14(Char(vyw500), Char(vyw3000)) → new_primEqNat0(vyw500, vyw3000)
new_ltEs13(Just(vyw4610), Just(vyw4810), ty_Double) → new_ltEs4(vyw4610, vyw4810)
new_esEs4(Left(vyw500), Left(vyw3000), ty_Ordering, ha) → new_esEs12(vyw500, vyw3000)
new_esEs4(Left(vyw500), Left(vyw3000), app(app(ty_@2, bhe), bhf), ha) → new_esEs7(vyw500, vyw3000, bhe, bhf)
new_ltEs5(vyw461, vyw481, app(ty_[], ed)) → new_ltEs10(vyw461, vyw481, ed)
new_esEs6(Just(vyw500), Just(vyw3000), app(ty_[], cbd)) → new_esEs10(vyw500, vyw3000, cbd)
new_lt19(vyw4610, vyw4810, ty_Integer) → new_lt13(vyw4610, vyw4810)
new_ltEs19(vyw4612, vyw4812, app(ty_Maybe, bcd)) → new_ltEs13(vyw4612, vyw4812, bcd)
new_esEs32(vyw35, vyw37, app(app(ty_Either, dfh), dga)) → new_esEs4(vyw35, vyw37, dfh, dga)
new_esEs27(vyw502, vyw3002, ty_Int) → new_esEs15(vyw502, vyw3002)
new_esEs4(Right(vyw500), Right(vyw3000), gh, ty_@0) → new_esEs18(vyw500, vyw3000)
new_esEs32(vyw35, vyw37, ty_Ordering) → new_esEs12(vyw35, vyw37)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_Char, dh) → new_ltEs7(vyw4610, vyw4810)
new_esEs27(vyw502, vyw3002, ty_Ordering) → new_esEs12(vyw502, vyw3002)
new_esEs25(vyw500, vyw3000, app(app(app(ty_@3, bfg), bfh), bga)) → new_esEs5(vyw500, vyw3000, bfg, bfh, bga)
new_ltEs6(Left(vyw4610), Left(vyw4810), ty_@0, dh) → new_ltEs14(vyw4610, vyw4810)
new_lt21(vyw4610, vyw4810, ty_Int) → new_lt4(vyw4610, vyw4810)
new_esEs4(Right(vyw500), Right(vyw3000), gh, ty_Int) → new_esEs15(vyw500, vyw3000)
new_lt20(vyw4611, vyw4811, ty_Bool) → new_lt12(vyw4611, vyw4811)
new_ltEs10(vyw461, vyw481, ed) → new_not(new_esEs12(new_compare1(vyw461, vyw481, ed), GT))
new_esEs4(Left(vyw500), Left(vyw3000), ty_Char, ha) → new_esEs14(vyw500, vyw3000)
new_compare31(vyw4600, vyw4800, app(app(app(ty_@3, ddf), ddg), ddh)) → new_compare14(vyw4600, vyw4800, ddf, ddg, ddh)
new_esEs31(vyw50, vyw300, ty_Ordering) → new_esEs12(vyw50, vyw300)
new_esEs12(GT, GT) → True
new_esEs29(vyw500, vyw3000, app(ty_[], dcb)) → new_esEs10(vyw500, vyw3000, dcb)
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, ty_Bool) → new_ltEs11(vyw4610, vyw4810)
new_esEs24(vyw501, vyw3001, ty_@0) → new_esEs18(vyw501, vyw3001)
new_compare31(vyw4600, vyw4800, app(ty_[], dea)) → new_compare1(vyw4600, vyw4800, dea)
new_esEs24(vyw501, vyw3001, ty_Bool) → new_esEs9(vyw501, vyw3001)
new_lt6(vyw460, vyw480, fa, fb) → new_esEs12(new_compare26(vyw460, vyw480, fa, fb), LT)
new_ltEs6(Left(vyw4610), Left(vyw4810), app(ty_Maybe, cdd), dh) → new_ltEs13(vyw4610, vyw4810, cdd)
new_esEs31(vyw50, vyw300, ty_@0) → new_esEs18(vyw50, vyw300)
new_esEs29(vyw500, vyw3000, ty_Ordering) → new_esEs12(vyw500, vyw3000)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs11(vyw500, vyw3000, ty_@0) → new_esEs18(vyw500, vyw3000)
new_ltEs19(vyw4612, vyw4812, app(app(ty_@2, bce), bcf)) → new_ltEs16(vyw4612, vyw4812, bce, bcf)
new_ltEs5(vyw461, vyw481, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs8(vyw461, vyw481, ea, eb, ec)
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, ty_Ordering) → new_ltEs9(vyw4610, vyw4810)
new_esEs26(vyw4610, vyw4810, app(app(ty_Either, cfb), cfc)) → new_esEs4(vyw4610, vyw4810, cfb, cfc)
new_lt7(vyw460, vyw480) → new_esEs12(new_compare17(vyw460, vyw480), LT)
new_ltEs13(Just(vyw4610), Just(vyw4810), app(ty_Ratio, bec)) → new_ltEs17(vyw4610, vyw4810, bec)
new_asAs(True, vyw56) → vyw56
new_esEs19(vyw460, vyw480, app(app(ty_Either, fa), fb)) → new_esEs4(vyw460, vyw480, fa, fb)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Float) → new_esEs17(vyw500, vyw3000)
new_primMulNat0(Succ(vyw50000), Succ(vyw300000)) → new_primPlusNat0(new_primMulNat0(vyw50000, Succ(vyw300000)), vyw300000)
new_esEs26(vyw4610, vyw4810, app(app(app(ty_@3, cfd), cfe), cff)) → new_esEs5(vyw4610, vyw4810, cfd, cfe, cff)
new_esEs11(vyw500, vyw3000, app(ty_[], bh)) → new_esEs10(vyw500, vyw3000, bh)
new_esEs4(Right(vyw500), Left(vyw3000), gh, ha) → False
new_esEs4(Left(vyw500), Right(vyw3000), gh, ha) → False
new_esEs4(Left(vyw500), Left(vyw3000), app(ty_Maybe, bhd), ha) → new_esEs6(vyw500, vyw3000, bhd)
new_compare1(:(vyw4600, vyw4601), [], fg) → GT
new_esEs11(vyw500, vyw3000, app(ty_Ratio, cg)) → new_esEs16(vyw500, vyw3000, cg)
new_esEs28(vyw501, vyw3001, ty_Integer) → new_esEs8(vyw501, vyw3001)
new_esEs18(@0, @0) → True
new_esEs4(Left(vyw500), Left(vyw3000), ty_Integer, ha) → new_esEs8(vyw500, vyw3000)
new_compare211(vyw460, vyw480, True) → EQ
new_esEs29(vyw500, vyw3000, ty_Char) → new_esEs14(vyw500, vyw3000)
new_esEs19(vyw460, vyw480, ty_Int) → new_esEs15(vyw460, vyw480)
new_ltEs17(vyw461, vyw481, eh) → new_not(new_esEs12(new_compare27(vyw461, vyw481, eh), GT))
new_compare11(vyw90, vyw91, vyw92, vyw93, False, vyw95, bch, bda) → new_compare18(vyw90, vyw91, vyw92, vyw93, vyw95, bch, bda)
new_lt5(vyw460, vyw480, app(app(ty_@2, dc), dd)) → new_lt17(vyw460, vyw480, dc, dd)
new_esEs23(vyw4610, vyw4810, app(app(app(ty_@3, hd), he), hf)) → new_esEs5(vyw4610, vyw4810, hd, he, hf)
new_esEs24(vyw501, vyw3001, ty_Char) → new_esEs14(vyw501, vyw3001)
new_esEs29(vyw500, vyw3000, ty_Float) → new_esEs17(vyw500, vyw3000)
new_ltEs13(Just(vyw4610), Just(vyw4810), app(app(ty_Either, bdb), bdc)) → new_ltEs6(vyw4610, vyw4810, bdb, bdc)
new_esEs24(vyw501, vyw3001, app(ty_Maybe, beh)) → new_esEs6(vyw501, vyw3001, beh)
new_compare28(vyw460, vyw480, False) → new_compare110(vyw460, vyw480, new_ltEs11(vyw460, vyw480))
new_compare14(vyw460, vyw480, fc, fd, ff) → new_compare210(vyw460, vyw480, new_esEs5(vyw460, vyw480, fc, fd, ff), fc, fd, ff)
new_ltEs5(vyw461, vyw481, ty_Integer) → new_ltEs12(vyw461, vyw481)
new_lt19(vyw4610, vyw4810, app(app(ty_@2, baa), bab)) → new_lt17(vyw4610, vyw4810, baa, bab)
new_lt19(vyw4610, vyw4810, app(app(ty_Either, hb), hc)) → new_lt6(vyw4610, vyw4810, hb, hc)
new_esEs26(vyw4610, vyw4810, ty_Int) → new_esEs15(vyw4610, vyw4810)
new_lt13(vyw460, vyw480) → new_esEs12(new_compare19(vyw460, vyw480), LT)
new_esEs6(Just(vyw500), Just(vyw3000), ty_Integer) → new_esEs8(vyw500, vyw3000)
new_ltEs20(vyw4611, vyw4811, app(app(ty_@2, chc), chd)) → new_ltEs16(vyw4611, vyw4811, chc, chd)
new_ltEs5(vyw461, vyw481, ty_Bool) → new_ltEs11(vyw461, vyw481)
new_lt20(vyw4611, vyw4811, ty_Double) → new_lt10(vyw4611, vyw4811)
new_ltEs6(Right(vyw4610), Right(vyw4810), dg, ty_Double) → new_ltEs4(vyw4610, vyw4810)
new_esEs31(vyw50, vyw300, app(ty_Maybe, ge)) → new_esEs6(vyw50, vyw300, ge)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCompAux0(vyw117, EQ) → vyw117
new_ltEs20(vyw4611, vyw4811, ty_Char) → new_ltEs7(vyw4611, vyw4811)
new_esEs4(Right(vyw500), Right(vyw3000), gh, ty_Float) → new_esEs17(vyw500, vyw3000)
new_ltEs19(vyw4612, vyw4812, app(app(ty_Either, bbf), bbg)) → new_ltEs6(vyw4612, vyw4812, bbf, bbg)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs31(vyw50, vyw300, app(app(ty_@2, gf), gg)) → new_esEs7(vyw50, vyw300, gf, gg)
new_ltEs19(vyw4612, vyw4812, ty_Bool) → new_ltEs11(vyw4612, vyw4812)
new_primCmpInt(Neg(Succ(vyw46000)), Pos(vyw4800)) → LT
new_ltEs13(Just(vyw4610), Just(vyw4810), app(app(app(ty_@3, bdd), bde), bdf)) → new_ltEs8(vyw4610, vyw4810, bdd, bde, bdf)
new_not(True) → False
new_compare16(vyw460, vyw480, False) → GT
new_esEs19(vyw460, vyw480, ty_Double) → new_esEs13(vyw460, vyw480)
new_compare1([], [], fg) → EQ

The set Q consists of the following terms:

new_esEs31(x0, x1, ty_Float)
new_esEs6(Nothing, Just(x0), x1)
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Double)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, app(ty_Maybe, x2))
new_esEs10([], [], x0)
new_ltEs20(x0, x1, ty_Float)
new_esEs18(@0, @0)
new_ltEs5(x0, x1, ty_Int)
new_ltEs5(x0, x1, app(ty_[], x2))
new_ltEs13(Just(x0), Just(x1), ty_Bool)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_compare29(x0, x1)
new_esEs32(x0, x1, ty_Ordering)
new_esEs31(x0, x1, ty_Char)
new_ltEs6(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs11(x0, x1, ty_Int)
new_lt21(x0, x1, ty_Float)
new_ltEs13(Just(x0), Nothing, x1)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare11(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, app(ty_[], x2))
new_compare15(@0, @0)
new_lt10(x0, x1)
new_compare110(x0, x1, False)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, ty_Double)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_lt20(x0, x1, ty_Double)
new_compare31(x0, x1, ty_@0)
new_ltEs13(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Double)
new_ltEs16(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs24(x0, x1, ty_Integer)
new_esEs19(x0, x1, app(ty_Ratio, x2))
new_esEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs23(x0, x1, ty_Integer)
new_compare17(Char(x0), Char(x1))
new_ltEs6(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs8(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, ty_@0)
new_lt19(x0, x1, ty_Integer)
new_ltEs6(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat0(Succ(x0), Zero)
new_esEs29(x0, x1, ty_Bool)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Float)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_ltEs7(x0, x1)
new_esEs24(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs12(EQ, GT)
new_esEs12(GT, EQ)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, ty_Int)
new_esEs32(x0, x1, ty_Int)
new_sr(Integer(x0), Integer(x1))
new_ltEs19(x0, x1, ty_Float)
new_ltEs13(Just(x0), Just(x1), app(ty_[], x2))
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs19(x0, x1, app(ty_Maybe, x2))
new_lt15(x0, x1)
new_esEs12(GT, GT)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_lt19(x0, x1, ty_Double)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare28(x0, x1, True)
new_lt6(x0, x1, x2, x3)
new_ltEs13(Nothing, Just(x0), x1)
new_esEs27(x0, x1, ty_Integer)
new_compare24(x0, x1, True, x2, x3)
new_ltEs13(Just(x0), Just(x1), ty_@0)
new_ltEs6(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs14(x0, x1)
new_lt20(x0, x1, ty_Char)
new_esEs11(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs23(x0, x1, ty_Bool)
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs9(EQ, EQ)
new_ltEs6(Right(x0), Right(x1), x2, ty_Double)
new_lt19(x0, x1, ty_Bool)
new_esEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare10(x0, x1, True, x2)
new_esEs6(Just(x0), Just(x1), app(ty_[], x2))
new_esEs24(x0, x1, ty_Char)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs24(x0, x1, ty_Bool)
new_esEs15(x0, x1)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Bool)
new_compare31(x0, x1, ty_Integer)
new_primEqNat0(Zero, Zero)
new_lt7(x0, x1)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Char)
new_compare11(x0, x1, x2, x3, True, x4, x5, x6)
new_lt19(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Ordering)
new_ltEs6(Left(x0), Left(x1), ty_Bool, x2)
new_esEs23(x0, x1, ty_Ordering)
new_esEs27(x0, x1, ty_Char)
new_esEs9(True, True)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_@0)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs32(x0, x1, ty_Float)
new_primMulNat0(Zero, Zero)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_Double)
new_esEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs22(x0, x1, ty_Double)
new_lt19(x0, x1, ty_Char)
new_esEs8(Integer(x0), Integer(x1))
new_ltEs19(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_lt20(x0, x1, ty_Integer)
new_compare26(x0, x1, x2, x3)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Ordering)
new_lt17(x0, x1, x2, x3)
new_esEs4(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_ltEs13(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Right(x0), Right(x1), x2, ty_Integer)
new_esEs19(x0, x1, ty_Bool)
new_esEs32(x0, x1, ty_@0)
new_ltEs18(x0, x1)
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, ty_@0)
new_primCompAux0(x0, LT)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Char)
new_asAs(False, x0)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_compare24(@2(x0, x1), @2(x2, x3), False, x4, x5)
new_lt5(x0, x1, ty_Double)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Succ(x0), x1)
new_esEs25(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), ty_Float)
new_lt21(x0, x1, ty_Bool)
new_lt19(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_lt19(x0, x1, ty_Int)
new_compare31(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Double)
new_esEs27(x0, x1, ty_Bool)
new_compare210(x0, x1, True, x2, x3, x4)
new_esEs24(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Bool)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs6(Right(x0), Right(x1), x2, ty_Char)
new_lt21(x0, x1, ty_Ordering)
new_compare1(:(x0, x1), [], x2)
new_ltEs20(x0, x1, ty_Ordering)
new_lt5(x0, x1, ty_Int)
new_ltEs9(GT, EQ)
new_ltEs9(EQ, GT)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs31(x0, x1, ty_Int)
new_ltEs12(x0, x1)
new_esEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs6(Nothing, Nothing, x0)
new_compare12(x0, x1, True, x2, x3)
new_ltEs5(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_[], x2))
new_esEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs6(Left(x0), Left(x1), ty_Double, x2)
new_esEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Int)
new_esEs12(EQ, LT)
new_esEs12(LT, EQ)
new_compare28(x0, x1, False)
new_lt5(x0, x1, ty_Ordering)
new_primPlusNat1(Zero, Zero)
new_esEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1)
new_esEs12(EQ, EQ)
new_lt20(x0, x1, ty_@0)
new_ltEs13(Just(x0), Just(x1), ty_Integer)
new_ltEs13(Nothing, Nothing, x0)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_compare23(x0, x1, False, x2)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs13(Just(x0), Just(x1), ty_Ordering)
new_lt19(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs6(Right(x0), Right(x1), x2, ty_Int)
new_lt16(x0, x1)
new_esEs24(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, ty_Bool)
new_ltEs6(Right(x0), Right(x1), x2, ty_Bool)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(:(x0, x1), [], x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, ty_Double)
new_esEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Ordering)
new_compare110(x0, x1, True)
new_lt11(x0, x1, x2)
new_lt21(x0, x1, ty_Integer)
new_esEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, ty_Int)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs12(GT, LT)
new_esEs12(LT, GT)
new_compare31(x0, x1, ty_Double)
new_ltEs6(Left(x0), Left(x1), ty_@0, x2)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(Just(x0), Just(x1), ty_Integer)
new_esEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs25(x0, x1, ty_Float)
new_compare12(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs9(EQ, LT)
new_ltEs9(LT, EQ)
new_ltEs13(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare23(x0, x1, True, x2)
new_esEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Integer)
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_compare13(Float(x0, x1), Float(x2, x3))
new_primMulNat0(Zero, Succ(x0))
new_esEs22(x0, x1, ty_Float)
new_lt20(x0, x1, ty_Bool)
new_compare111(x0, x1, False, x2, x3, x4)
new_primCompAux0(x0, EQ)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs6(Just(x0), Just(x1), ty_@0)
new_esEs4(Right(x0), Right(x1), x2, ty_Char)
new_esEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Int)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Left(x0), Right(x1), x2, x3)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs11(False, False)
new_esEs19(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_@0)
new_compare16(x0, x1, False)
new_esEs14(Char(x0), Char(x1))
new_lt12(x0, x1)
new_compare1(:(x0, x1), :(x2, x3), x4)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Ordering)
new_esEs24(x0, x1, ty_Double)
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_compare16(x0, x1, True)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs10(x0, x1, x2)
new_esEs11(x0, x1, ty_Ordering)
new_esEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare111(x0, x1, True, x2, x3, x4)
new_esEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs23(x0, x1, app(app(ty_Either, x2), x3))
new_compare18(x0, x1, x2, x3, False, x4, x5)
new_esEs23(x0, x1, ty_@0)
new_compare25(x0, x1, False, x2, x3)
new_esEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, ty_Integer)
new_lt19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs32(x0, x1, ty_Char)
new_ltEs6(Left(x0), Right(x1), x2, x3)
new_ltEs6(Right(x0), Left(x1), x2, x3)
new_ltEs13(Just(x0), Just(x1), ty_Int)
new_esEs19(x0, x1, app(ty_[], x2))
new_compare9(x0, x1, x2, x3)
new_ltEs6(Left(x0), Left(x1), ty_Char, x2)
new_compare31(x0, x1, ty_Int)
new_esEs17(Float(x0, x1), Float(x2, x3))
new_ltEs13(Just(x0), Just(x1), app(ty_Maybe, x2))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs11(False, True)
new_ltEs11(True, False)
new_esEs23(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Bool)
new_esEs30(x0, x1, x2, x3, True, x4, x5)
new_esEs31(x0, x1, ty_@0)
new_esEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs11(x0, x1, ty_Float)
new_compare1([], [], x0)
new_esEs23(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Double)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs4(Left(x0), Left(x1), ty_Int, x2)
new_lt19(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_primCompAux0(x0, GT)
new_ltEs20(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Ordering)
new_primCmpNat0(Zero, Succ(x0))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Double)
new_lt5(x0, x1, ty_Integer)
new_esEs16(:%(x0, x1), :%(x2, x3), x4)
new_compare210(x0, x1, False, x2, x3, x4)
new_esEs26(x0, x1, ty_Double)
new_esEs23(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_Bool)
new_esEs19(x0, x1, ty_Integer)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs9(LT, LT)
new_esEs26(x0, x1, ty_Integer)
new_esEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_@0)
new_esEs27(x0, x1, ty_Float)
new_lt19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Right(x0), Right(x1), x2, ty_Ordering)
new_compare211(x0, x1, True)
new_lt5(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Bool)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_lt18(x0, x1, x2)
new_primPlusNat1(Zero, Succ(x0))
new_esEs29(x0, x1, ty_Integer)
new_compare19(Integer(x0), Integer(x1))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_primCompAux1(x0, x1, x2, x3)
new_esEs28(x0, x1, ty_Float)
new_esEs4(Right(x0), Right(x1), x2, ty_Int)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs6(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primPlusNat1(Succ(x0), Succ(x1))
new_primPlusNat1(Succ(x0), Zero)
new_esEs30(x0, x1, x2, x3, False, x4, x5)
new_compare31(x0, x1, ty_Ordering)
new_primMulInt(Neg(x0), Neg(x1))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Ordering)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_primCmpNat0(Zero, Zero)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Ordering)
new_compare27(:%(x0, x1), :%(x2, x3), ty_Int)
new_lt20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1, False, x2)
new_esEs10([], :(x0, x1), x2)
new_esEs28(x0, x1, ty_Ordering)
new_esEs31(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Integer)
new_esEs9(False, False)
new_esEs24(x0, x1, ty_@0)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, ty_Bool)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_lt8(x0, x1, x2, x3, x4)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_lt21(x0, x1, ty_Char)
new_esEs6(Just(x0), Just(x1), ty_Char)
new_esEs4(Left(x0), Left(x1), ty_Integer, x2)
new_pePe(False, x0)
new_ltEs5(x0, x1, ty_Integer)
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_ltEs6(Left(x0), Left(x1), ty_Integer, x2)
new_compare14(x0, x1, x2, x3, x4)
new_ltEs20(x0, x1, ty_Integer)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(x0, x1)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs13(Just(x0), Just(x1), ty_Char)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs24(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Char)
new_ltEs13(Just(x0), Just(x1), ty_Float)
new_ltEs9(GT, LT)
new_ltEs9(LT, GT)
new_compare31(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Char)
new_asAs(True, x0)
new_esEs29(x0, x1, ty_Float)
new_esEs13(Double(x0, x1), Double(x2, x3))
new_esEs19(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Char)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Right(x0), Right(x1), x2, ty_Integer)
new_compare6(x0, x1)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_not(True)
new_ltEs13(Just(x0), Just(x1), ty_Double)
new_compare31(x0, x1, ty_Bool)
new_esEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs29(x0, x1, app(ty_[], x2))
new_compare27(:%(x0, x1), :%(x2, x3), ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_ltEs6(Left(x0), Left(x1), ty_Int, x2)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_lt19(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(x0, x1, ty_Char)
new_ltEs6(Right(x0), Right(x1), x2, ty_Float)
new_esEs11(x0, x1, ty_Double)
new_esEs19(x0, x1, ty_Int)
new_esEs6(Just(x0), Just(x1), ty_Double)
new_lt13(x0, x1)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_Int)
new_esEs19(x0, x1, ty_Ordering)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs17(x0, x1, x2)
new_esEs6(Just(x0), Nothing, x1)
new_esEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs6(Just(x0), Just(x1), ty_Bool)
new_ltEs20(x0, x1, ty_Bool)
new_ltEs6(Left(x0), Left(x1), ty_Float, x2)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_Float)
new_esEs9(False, True)
new_esEs9(True, False)
new_esEs11(x0, x1, ty_Integer)
new_compare30(x0, x1)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr0(x0, x1)
new_compare31(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Double)
new_compare7(Double(x0, x1), Double(x2, x3))
new_esEs32(x0, x1, ty_Bool)
new_esEs19(x0, x1, ty_Char)
new_compare18(x0, x1, x2, x3, True, x4, x5)
new_ltEs9(GT, GT)
new_ltEs13(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Integer)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(:(x0, x1), :(x2, x3), x4)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs5(x0, x1, ty_Float)
new_esEs6(Just(x0), Just(x1), ty_Int)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Int)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_Ordering)
new_lt14(x0, x1, x2)
new_esEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Char)
new_lt5(x0, x1, ty_@0)
new_primMulNat0(Succ(x0), Zero)
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Zero))
new_ltEs15(x0, x1)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(x0, x1, ty_Float)
new_compare1([], :(x0, x1), x2)
new_ltEs6(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Right(x0), Right(x1), x2, ty_@0)
new_lt19(x0, x1, ty_Ordering)
new_esEs5(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_lt9(x0, x1)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_Int)
new_compare211(x0, x1, False)
new_esEs12(LT, LT)
new_compare8(x0, x1, x2)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs11(True, True)
new_compare25(x0, x1, True, x2, x3)
new_lt21(x0, x1, ty_@0)
new_esEs23(x0, x1, ty_Int)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs24(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_Double)
new_primPlusNat0(Zero, x0)
new_esEs22(x0, x1, app(ty_[], x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: